Jquery .off 所有处理程序

标签 jquery ajax

也许我缺少一些相关的东西,但如果我在文档准备好时使用它

$('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/

相关文章:

javascript - 自动将小数点后零数可变的 float 舍入到第一个非零数字

ajax - 使用 Vue.js 在父级中运行 ajax 调用并在子级中调用成功

java - 上传图片而不重定向 Spring MVC

javascript - 从对象访问数组

jquery - Django 使用 datepicker 按月动态搜索项目

jquery - 在网页中创建由鼠标滚轮驱动的 "zoom in"和 "zoom out"

jquery - "VIDEOJS: WARN: Player "媒体 "is already initialized"当它不是

javascript - 以编程方式更新输入值时触发更改事件

php - jQuery 不适用于 jQuery 创建的元素

javascript - 来自多个 ajax 请求的求和值