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

Onl*_*ere 0 javascript jquery

这是我的代码:

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

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

然而,在我动态加载这些项后,事件没有被触发.如何才能使我在收听文档加载后添加的任何项目?

Sel*_*gam 9

尝试,

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

按照以下两个步骤绑定动态元素的事件处理程序,

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

所以,如果#strong-against存在于页面加载,那么你可以,

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