我有一个函数addItems
,可以动态地将项添加到元素<div id="totalPremium"></div>
,因此它会清空div
并在每次调用函数时添加项目
function addItems(){
/....../
$("#totalPremium").empty();
$("#totalPremium").append("<div>item</div>");
}
点击事件功能下方会选择一个添加的项目
$("#totalPremium > div").bind('click', function () {
//do stuffs
}
问题是第一次添加一个项目我可以通过点击功能来获取它,但是在更换了前一个项目之后,点击甚至会失去其目标并且不会执行。我正在寻求建议让它发挥作用。
答案 0 :(得分:2)
您需要为动态添加的项目使用事件委派
$("#totalPremium").on('click','div', function () {
//do stuffs
});
答案 1 :(得分:0)
点击处理程序仅适用于调用后存在的元素。如果删除元素并添加新元素,则它们不会自动拥有clickhandler。每次创建新元素时都必须添加处理程序