有例如
<div>
<a>anything....</a>
</div>
设置事件处理程序:
$("div a").click(.....)
使用$("div").html('')
的后期<div><a>
事件处理程序时会丢失。
有没有办法完成这项工作 - 清理内容 - 并让处理程序存在?
答案 0 :(得分:2)
您可以将处理程序委托给DOM上方的某些内容,例如<body>
:
$('body').on('click', 'div a', function () {...});
答案 1 :(得分:1)
您可以使用.live():
$("div a").live("click", function(){
alert("Still exists");
});
根据jQuery's documentation的意思是:
为现在和将来与当前选择器匹配的所有元素附加事件处理程序。
正如您所见here。
答案 2 :(得分:0)
jQuery.delegate会有用吗?给你的链接一个引用(类,ID),你应该保留它的行为。