2

如果我使用 JQuery 设置 div 标签,如下所示:

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

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

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

大卫

4

2 回答 2

2

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

但是,您可以使用事件委托只绑定一次事件(所谓的委托事件方法):

$("#maindiv").on("click", "#element", function() {
    // do something
});
于 2012-07-04T20:44:40.407 回答
0

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

如果您打算在初始内容应用了事件后添加元素,则最简单的排序方法是使用live而不是 bind。

于 2012-07-04T20:44:03.053 回答