Javascript 在空()后单击事件松散目标。追加()元素
我有一个函数Javascript 在空()后单击事件松散目标。追加()元素,javascript,jquery,html,click,Javascript,Jquery,Html,Click,我有一个函数addItems,它动态地将项目添加到元素,因此它清空div,并在每次调用该函数时添加项目 function addItems(){ /....../ $("#totalPremium").empty(); $("#totalPremium").append("<div>item</div>"); } 问题是,第一次添加一个项目时,我可以通过单击功能来选择它,但是在一个新项目被替换为前一个项目后,单击甚至似乎失去了目标,无法执行。我正在搜索
addItems
,它动态地将项目添加到元素
,因此它清空div
,并在每次调用该函数时添加项目
function addItems(){
/....../
$("#totalPremium").empty();
$("#totalPremium").append("<div>item</div>");
}
问题是,第一次添加一个项目时,我可以通过单击功能来选择它,但是在一个新项目被替换为前一个项目后,单击甚至似乎失去了目标,无法执行。我正在搜索建议以使其生效。您需要对动态添加的项目使用事件委派
$("#totalPremium").on('click','div', function () {
//do stuffs
});
单击处理程序将仅应用于调用后出现的元素。如果删除元素并添加新元素,它们不会自动拥有clickhandler。每次创建新元素时都必须添加处理程序+1,尽管这最终是为了后代而不是子代。我相信
'>div'
在委托选择器中是有效的。这与此和事件的内容有关。如果div
有任何子体,则目标将是:()。$(“#totalPremium”)。在('click','div',function(){//do stuff}
上尝试this@Deadlock谢谢,这很有效。
$("#totalPremium").on('click','div', function () {
//do stuffs
});