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

时间:2012-05-01 19:40:00

标签: javascript jquery

这是我的代码:

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

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

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

1 个答案:

答案 0 :(得分:9)

尝试,

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

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

  1. 找到动态添加元素的最接近的父元素。
  2. 将处理程序绑定到父元素,并将动态元素选择器作为第二个参数。
  3. 因此,如果页面加载时存在#strong-against,那么您可以

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