2

我想用 jQuery 附加一个 div,然后在附加的 div 内的一个类上使用 jQuery click 函数。这是我的代码,如果我附加 div,它就不起作用,但是如果 div 已经存在于 html 中,它就可以正常工作。

HTML:

<div class="add">
    Add item
</div>

<div class="container">
</div>

jQuery:

$('.add').click(function(e){
    e.preventDefault();

    var box = '<div class="box"><div class="remove">x</div></div>'
    $('.container').append(box)
});


$('.remove').click(function(){
    alert("remove");
});

演示:

http://jsfiddle.net/Y625A/

4

3 回答 3

10

使用事件委托

$('.container').on('click','.remove',function(){
    alert("remove");
});

演示--> http://jsfiddle.net/Y625A/2/

于 2013-05-22T12:34:11.490 回答
1

尝试使用live绑定事件,这将在创建新项目时绑定它们:

$('.add').live('click', function(e){

});
于 2013-05-22T12:35:48.423 回答
1

即使创建了元素,也必须绑定单击:

$('.add').click(function(e){
    e.preventDefault();

    var box = "<div class='box'><div class='remove'>x</div></div>"
    $('.container').append(box)

$('.remove').click(function(){
    alert("remove");
});


});

http://jsbin.com/ofoteq/1/edit

于 2013-05-22T12:41:34.450 回答