我有一个带有 ID 的超链接,单击该链接将使用 JQuery 执行特定事件。 JQuery 在文档加载时记录此链接的存在。用户访问过程中的某个时间。我删除了该链接并稍后重新添加。但是,在删除并添加该链接后单击该链接时,该链接不会再次被触发。
为什么会出现这种情况?我该如何补救?与事件绑定(bind)有关?或者我应该添加一个 onclick 属性吗?
最佳答案
您一直在使用这样的标记来添加点击事件:
$('#speciallink').click(function(){
// do something
return false;
});
这会将事件绑定(bind)到当时选择的元素。
删除链接并再次添加它,将有效地创建一个新元素,而无需此事件。您可以使用“live”方法添加将应用于与规则匹配的事件的规则,即使这些元素是在创建规则后创建的:
$('#speciallink').live("click",function(){
// do something
return false;
});
关于javascript - 添加、删除和再次添加元素会删除其事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1249747/