ajax 检索元素上的 jQuery 绑定(bind)事件

标签 jquery ajax

我有一个包含行的页面,每行都包含几个输入字段和一个执行某些操作的按钮。按钮具有 .super-button 类。假设我有 23 行,我刚刚通过 AJAX 检索了第 24 行并将其插入到下面,我想在单击事件上将一些功能绑定(bind)到它的按钮。

我现在正在做的是:

$(".super-button").off("click");
$(".super-button").on("click", function(){
    /// Do some awesome functionality
});

是否有更好的方法将事件绑定(bind)到 DOM 中新插入的元素?

最佳答案

您可以将事件委托(delegate)给静态的直接父级。

通过这样做,您只需关联一个事件一次..

$("body").on("click",".super-button", function(){
    /// Do some awesome functionality
});

这将确保您不需要在每次创建新元素时都使用 .on().off()

注意:这里的 body 可以替换为最接近的静态父级,可能是其中存在行的表。我使用 body 委托(delegate)它,因为我不知道标记。

关于ajax 检索元素上的 jQuery 绑定(bind)事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12808287/

相关文章:

javascript - Ajax 请求有效但没有输出

jquery - 带有 window.history.pushState 和后备的跨浏览器 jquery ajax 历史记录

javascript - 函数内的 AngularJS 摘要

javascript - Firefox:按下鼠标按钮时鼠标悬停不起作用

javascript - 面向对象的 JavaScript 最佳实践问题 : How should I configure my objects for the following

php - 在javascript中使用innerhtml检查div标签的内部?

javascript - 在嵌套类中附加 HTML

ajax - 禁用在新选项卡中打开或控制/中键单击某些链接?

javascript - 如何使用jquery ajax和codeigniter执行编辑和删除操作

javascript - ReCaptcha 2.0 与 AJAX