jQuery click对附加的div没有效果

时间:2012-10-25 10:07:07

标签: jquery click append

我想在点击图片时添加div。这工作正常,看起来非常好。但现在我必须按钮确认是否要删除项目。我正试图在'是'按钮上做一个clickevent。似乎什么也没发生。我该如何解决这个问题?

$(".trashbinPage img").one('click', function(){
    $('#deletePage').closest('tr').after('<div class="deleteMessage"><p>Weet u het zeker?</p></div>');
    $('.deleteMessage').append('<div id="wrapButtons"><div class="trashYes">Ja</div><div class="trashNo">Nee</div></div>');
});

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

4 个答案:

答案 0 :(得分:4)

使用on注册您的.trashYes

$('.deleteMessage').on('click', '.trashYes', function() {
    ...
});

<强>更新

jQuery&lt; {{1}}的版本中1.7你应该使用delegate函数:

更新2

Rory在我的代码中指出了一个问题,所以我更新了答案。

答案 1 :(得分:1)

添加事件后,必须将事件绑定到对象。或者使用live()或delegate()而不是bind。 关于bind,live和delegate之间的区别,互联网上应该有很多文章。

答案 2 :(得分:1)

在页面加载后附加元素,即click()挂钩事件。因此,您需要将on与委托一起使用来处理事件,如下所示:

$(".deleteMessage").on('click', '.trashYes', function(){
    alert('hoi');
});

答案 3 :(得分:0)

错字? .one()应为.on()