在Grails上启动多个相同的事件

Multiple same events fired up on Grails

本文关键字:事件 Grails 启动      更新时间:2023-09-26

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

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

当我点击_test。GSP布局的事件,它触发单个事件。

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

  • 点击主页按钮后&
  • 点击_test。gsp事件,它将触发两个单击事件 from _test。GSP(看起来像,而不是替换_test。GSP从上面的div容器上单击事件按钮,就添加并启动了两个事件。但是我替换了那个div,它被替换掉了)。
  • 如果我继续点击主页按钮点击它会触发很多次点击事件从_test。GSP上点击(2,3,4…

问题:触发那么多事件会有什么问题?对替换div容器事件不替换出来还是什么?

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

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