也许我缺少一些相关的东西,但如果我在文档准备好时使用它
$('a.edit').on("click", displayEditForm);
然后在 ajax 调用之后
$('a.edit').off();
$('a.edit').on('click', displayEditForm);
它有效,我需要取消附加,因为有些 a.click 是动态加载的,有些则不是,所以我只想对所有 a.click 附加一次。问题是这目前有效,但我想使用
$('a.edit').off('click', displayEditForm);
$('a.edit').on('click', displayEditForm);
这不起作用。它不会失败,但其中一些在单击时会调用该函数两次。如果我使用也不起作用
$('a.edit').off('click', '**');
知道为什么吗?
谢谢
最佳答案
如果您动态生成它们,您可以像这样绑定(bind) click()
:
$(document).on('click' , 'a.edit', function(){})
或使用$(document).delegate('a.edit', 'click', function(){})
我个人使用第一个解决方案
关于Jquery .off 所有处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16485174/