jquery一个on()而不是bind()和live()

时间:2012-02-22 13:34:20

标签: jquery event-handling

我需要处理静态创建和动态创建元素的事件。 静态创建元素的解决方案是:

$(".js-tag-close").on("click", function ()
{
   $(this).parent().remove();
});

用于动态创建:

$(".custom-tags-selector").on("click", ".js-tag-close", function ()
{
    $(this).parent().remove();
});

如何处理一个on()?

提前致谢...

1 个答案:

答案 0 :(得分:5)

第二种方法适用于静态元素和动态元素。

为什么?

因为您将事件处理程序执行委托给容器.custom-tags-selector。只要点击指定的选择器.js-tag-close有效的任何后代,无论它已经存在还是动态添加,都将执行处理程序。

唯一的条件是代码运行时,您委派的容器存在于DOM中。

<强> DEMO