在empty()。append()元素之后单击事件松散目标

时间:2013-07-09 12:44:53

标签: javascript jquery html click

我有一个函数addItems,可以动态地将项添加到元素<div id="totalPremium"></div>,因此它会清空div并在每次调用函数时添加项目

function addItems(){
   /....../
   $("#totalPremium").empty();
   $("#totalPremium").append("<div>item</div>");
}

点击事件功能下方会选择一个添加的项目

$("#totalPremium > div").bind('click', function () {
    //do stuffs
}

问题是第一次添加一个项目我可以通过点击功能来获取它,但是在更换了前一个项目之后,点击甚至会失去其目标并且不会执行。我正在寻求建议让它发挥作用。

2 个答案:

答案 0 :(得分:2)

您需要为动态添加的项目使用事件委派

$("#totalPremium").on('click','div', function () {
    //do stuffs
});

答案 1 :(得分:0)

点击处理程序仅适用于调用后存在的元素。如果删除元素并添加新元素,则它们不会自动拥有clickhandler。每次创建新元素时都必须添加处理程序