【问题标题】:Multiple same events fired up on Grails在 Grails 上触发了多个相同的事件
【发布时间】:2016-10-04 12:19:50
【问题描述】:

我有一个布局 _test.gsp,其中包含 'a click event',该布局呈现如下。

<div id="testid">
    <g:render template="test"/>
</div>

当我点击 _test.gsp 布局的事件时,它会触发一个事件。

主页包含一个按钮,它触发并用新的_test.gsp替换了上面的div布局它的点击事件。但是

  • 点击主页按钮后&
  • 点击 _test.gsp 事件,它会从 _test.gsp 中触发两个 click 事件(看起来不是替换 _test.gsp 从上面的 div 容器主页按钮单击事件,它被添加并触发了两个事件。但是我替换了那个 div 并且它被替换了)。
  • 如果我继续点击主页按钮 click 它会在点击时触发来自 _test.gsp 的多次点击事件(2、3、4 ... 等等...)。

问题:触发这么多事件会有什么问题?关于div容器的替换事件是不是替换掉了还是什么?请提出解决方案。

【问题讨论】:

    标签: javascript jquery html grails


    【解决方案1】:

    如果您在 _test.gsp 中使用 jQuery on()bind() 为元素添加事件处理程序,那么发生的情况是您在替换内容时没有取消绑定事件,因此它会触发多次。

    根据您的需要,您可以通过多种方式取消绑定事件处理程序。在调用on()bind() 之前使用off() 和相同的选择器,或者将事件绑定移动到主GSP 页面并使用live() 进行绑定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 2016-11-26
      • 1970-01-01
      相关资源
      最近更新 更多