我想在点击图片时添加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');
});
答案 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()
。