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

时间:2015-12-10 19:24:14

标签: javascript jquery

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

<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中的任意位置时,这会触发事件。我做错了什么?

2 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:0)

这应该如下。

delegate()