绑定点击添加到dom中的元素,导致触发元素执行

时间:2012-06-08 06:05:48

标签: javascript jquery

当我将元素添加到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());        
    });        
}

1 个答案:

答案 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事件,导致每个附加一次又一次地绑定到每个元素。