1

有例如

<div>
 <a>anything....</a>
</div>

设置事件处理程序:

$("div a").click(.....)

在使用稍后$("div").html('')的事件处理程序<div><a>迷路时。

有什么方法可以完成这项工作 - 清理内容 - 并让处理程序存在吗?

4

3 回答 3

2

您可以将处理程序委托给 DOM 更高层的东西,例如<body>

$('body').on('click', 'div a', function () {...});
于 2012-08-20T15:59:51.627 回答
1

您可以使用 .live():

$("div a").live("click", function(){ 
    alert("Still exists"); 
});  

根据jQuery的文档是:

为现在和将来匹配当前选择器的所有元素附加一个事件处理程序。

正如你在这里看到的。

于 2012-08-20T16:01:56.623 回答
0

jQuery.delegate会有用吗?给你的链接一个参考(类,ID),你应该保留它的行为。

于 2012-08-20T15:59:35.467 回答