单击动态生成的图像时如何触发事件?

<body>
    <!-- this img element is dynamically generated after page load -->
    <img class="youtube-thumb" src="//i.ytimg.com/vi/x-4KLOsfkHw/hqdefault.jpg">
</body>


我认为这可以工作:

$('body').delegate('.youtube-thumb').on('click', function(){
    console.log('hi')
})


但这会在我单击body中的任何位置时触发事件。我究竟做错了什么?

最佳答案

您使用的delegate()方法不正确,请尝试以下操作:

$('body').delegate('.youtube-thumb', 'click', function(){
    console.log('hi')
});


也就是说,您应该使用on(),因为delegate()被认为已过时。尝试这个:

$('body').on('click', '.youtube-thumb', function(){
    console.log('hi')
});

09-10 11:08
查看更多