动态创建的元素不';t触发jquery单击或触发次数过多
例如:动态创建的元素不';t触发jquery单击或触发次数过多,jquery,jquery-ui-sortable,dynamic-data,Jquery,Jquery Ui Sortable,Dynamic Data,例如: $('.edit_button').click(function() { alert('test'); }); 现在我的HTML: <div id='area1'><div class='edit_button'></div></div> <div id='area2'><div class='edit_button'></div></div> <div id='area3'>&
$('.edit_button').click(function() {
alert('test');
});
现在我的HTML:
<div id='area1'><div class='edit_button'></div></div>
<div id='area2'><div class='edit_button'></div></div>
<div id='area3'><div class='edit_button'></div></div>
如果我按照下面的建议将它附加到$(文档),它确实可以工作,但是我不能像文档中那样更具体地附加它吗?将其附加到文档中是否会影响性能?代码中有几处错误:
多亏了Kahnh和Arun(他们发表了评论,没有回答,所以我无法选择他们:(),我找到了答案。我需要查看事件委派,意思是使用.on('click'而不是.click())。此外,我发现委派不能仅与类ID或文档本身一起工作。将它们结合在一起,我现在有了一种方法来消除代码的混乱,并使其在没有恶意攻击的情况下工作。谢谢大家!尝试委派事件处理程序:$(文档)。在(“单击“,”.edit_按钮”,function(){alert('test');})
我已经用一个小事件委派代码更新了我的帖子,这似乎是答案。但是,如果我将它附加到$(document)而不是任何其他元素,我仍然会遇到一些问题。
$('.delete_button').on("mouseenter","img",function() { alert("DLH"); });
<div id="area1"><div class="edit_button">one</div></div>
<div id="area2"><div class="edit_button">two</div></div>
<div id="area3"><div class="edit_button">three</div></div>
$(document).ready(function(){
$('.edit_button').on('click', function() {
alert('test '+$(this).parent('div').attr('id'));
});
});