首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >避免对DOM事件进行双重绑定(例如使用onclick() )

问避免对DOM事件进行双重绑定(例如使用onclick() )
EN

Stack Overflow用户
提问于 2011-12-07 07:42:38
回答 1查看 845关注 0票数 0

我有一些DOM组件来绑定事件,如click、hover等.由于我将JSF与AJAX结合使用,有时这些组件会重新呈现,然后必须将DOM事件重新绑定到它们。

为了实现新呈现的组件的自动重新绑定,我向JSF事件注册,以便以这种方式重新绑定:

代码语言:javascript
复制
jsf.ajax.addOnEvent(function (data) {
    if (data.status === "success") {
        $("#someid").click(function() {...});
    }
});

这个解决方案的问题是,当组件没有被重新呈现,但是发生了一个AJAX事件时,绑定就会加倍和三倍,等等。

出现在我头上的解决方案是为每个DOM组件设置一个标志,当组件绑定到一个事件时,该标记设置为true。它会起作用的,但有点麻烦。

我想知道是否有更好的解决方案是我所不知道(或无法想到的),比如某种jQuery特性,它允许程序员在每个DOM组件中避免一个以上的绑定。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-07 07:46:02

这正是jQuery.live()的作用所在。

编辑:正如注释中所指出的,从jQuery 1.7开始,正确使用的方法是jQuery.on()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8411916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档