如果我使用JQuery设置div标签,如:
$('#maindiv').html(some content...);
然后,如果我将事件绑定到“maindiv”现在拥有的对象,如果我稍后将html重置为“maindiv”,如果我选择不重新绑定这些事件,这些事件是否仍然会被挂起?我的意思是如果我在重置html之后再次绑定那些事件,我会做双重工作吗?
希望这是有道理的。非常感谢任何见解。
大卫
答案 0 :(得分:2)
更新元素内容将删除内部元素的所有事件。
但是,您可以使用event delegation仅绑定一次事件(所谓的委托事件处理):
$("#maindiv").on("click", "#element", function() {
// do something
});
答案 1 :(得分:0)
如果你使用html函数生成一些html并且你只使用bind,那么在bind之后添加的任何未来元素都不会触发任何事件。
对此进行排序的最简单方法是使用live而不是绑定,如果您计划在初始内容应用了事件后添加元素。