当我将元素添加到dom时,我将点击一个元素绑定。我的问题是,如果我添加让我们说3个元素,我点击其中任何一个它执行该功能3次。是什么让它触发了3次,可以用其他方式完成吗?
让我用jsfiddle demo here
来说明它HTML
<div id="breadcrumb"><a href="#" id="start" class="click-me">Start</a></div>
<a href="#" id="add_to_breadcrumb">Add to breadcrumb</a>
jquery的
$('#add_to_breadcrumb').on('click', function(){
$('#breadcrumb').append('<a href="#" class="click-me">' + $('#breadcrumb > a').size() + '</a>', bindClick());
});
function bindClick(){
$(document).on('click', '.click-me', function(){
alert($(this).text());
});
}
答案 0 :(得分:1)
试试这个:
$('#add_to_breadcrumb').on('click', function() {
$('#breadcrumb').append('<a href="#" class="click-me">' + $('#breadcrumb > a').size() + '</a>');
});
$(document).on('click', '.click-me', function() {
alert($(this).text());
});
<强> DEMO 强>
在每个附加上绑定click
事件,导致每个附加一次又一次地绑定到每个元素。