javascript - 将事件附加到使用 jQuery 动态添加的元素

标签 javascript jquery

这是我的代码:

$("#strong-against .pick .data .actions .btn-success").on("click", function () {
    //Magic here.
});

我读到应该使用 .on(),因为即使在文档加载完成后,它也会动态地将事件附加到添加的项目上。

但是,在我动态加载这些项目后,该事件并未被触发。如何才能让我在文档加载后添加的任何项目都被监听?

最佳答案

尝试,

$(document).on("click", "#strong-against .pick .data .actions .btn-success", function () {
    //Magic here.
});

按照 2 个步骤为动态元素绑定(bind)事件处理程序,

  1. 查找要动态添加该元素的最接近的父元素。
  2. 使用动态元素选择器作为第二个参数将处理程序绑定(bind)到父元素。

因此,如果页面加载时存在#strong-against,那么您就可以,

 $("#strong-against").on("click", ".pick .data .actions .btn-success", function () {
    //Magic here.
 });

关于javascript - 将事件附加到使用 jQuery 动态添加的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10403252/

相关文章:

javascript - 解析 THREE.js json 网格格式法线错误

javascript - 从 CesiumJS 获取相机的矩形位置

javascript - 为什么我的异常没有被捕获?

javascript - 通过鼠标按下选择父级中的最后一个子级

javascript - JavaScript 中的未命名函数不起作用

javascript - 为什么包含 prototype.js 会破坏 jquery bbq 的功能?

javascript - 我正在尝试动态添加多个 tagit 字段,但它对我不起作用

JavaScript 对象 : find a key/value when in range

javascript - boolean 问题

javascript - 如何从字符串构建正则表达式