如何在DOM更改后绑定到javascript事件
我有一个绑定到tr标签的函数,可以提供如下鼠标悬停效果: $(“.grid tr”).bind(“mouseenter”, 函数(){ $(此).addClass(“悬停”); }).bind(“mouseleave”,函数(){ $(this.removeClass(“hover”);}) 问题是,当发生分页或过滤等情况时,网格是通过ajax加载的。这会导致网格被完全替换,所有事件绑定都会失败。是否有一种方法可以绑定到一个事件,该事件即使在DOM更改时也会自动附加到匹配的元素 谢谢 是您想要的:如何在DOM更改后绑定到javascript事件,javascript,jquery,effects,Javascript,Jquery,Effects,我有一个绑定到tr标签的函数,可以提供如下鼠标悬停效果: $(“.grid tr”).bind(“mouseenter”, 函数(){ $(此).addClass(“悬停”); }).bind(“mouseleave”,函数(){ $(this.removeClass(“hover”);}) 问题是,当发生分页或过滤等情况时,网格是通过ajax加载的。这会导致网格被完全替换,所有事件绑定都会失败。是否有一种方法可以绑定到一个事件,该事件即使在DOM更改时也会自动附加到匹配的元素 谢谢 是您想要的
$(".grid tr").live("mouseenter", function () { $(this).addClass("hover"); }).bind("mouseleave", function () { $(this).removeClass("hover"); });
或者,您可以使用 更多信息:请从现在开始使用
.on()
,因为.live()
在jQuery中不受欢迎,因为它效率低下
$(".grid tr")
.on("mouseenter", function () { $(this).addClass("hover"); })
.on("mouseleave", function () { $(this).removeClass("hover"); });
虽然live()可以解决这个问题,但效率很低。最好挂接ajax调用的成功事件,并使用新事件更新适用的dom节点