JQuery重新绑定事件

时间:2012-07-04 20:41:43

标签: jquery

如果我使用JQuery设置di​​v标签,如:

$('#maindiv').html(some content...);

然后,如果我将事件绑定到“maindiv”现在拥有的对象,如果我稍后将html重置为“maindiv”,如果我选择不重新绑定这些事件,这些事件是否仍然会被挂起?我的意思是如果我在重置html之后再次绑定那些事件,我会做双重工作吗?

希望这是有道理的。非常感谢任何见解。

大卫

2 个答案:

答案 0 :(得分:2)

更新元素内容将删除内部元素的所有事件。

但是,您可以使用event delegation仅绑定一次事件(所谓的委托事件处理):

$("#maindiv").on("click", "#element", function() {
    // do something
});

答案 1 :(得分:0)

如果你使用html函数生成一些html并且你只使用bind,那么在bind之后添加的任何未来元素都不会触发任何事件。

对此进行排序的最简单方法是使用live而不是绑定,如果您计划在初始内容应用了事件后添加元素。