-1

我有一组通过 jQuery AJAX 加载的图像。出于某种原因,我的点击处理程序在被点击时不会触发。

JavaScript:

$(document).ready(function()
{
    $('img.delete_related_sub').click(function()
    {
    alert('testing');
    });

    //I added this part to test, because the above wasn't working...
    $(document).click(function(event)
    {
    alert(event.target.tagName+' '+event.target.className);
    });
});

HTML:

<img data-rsid="2" class="delete_related_sub" src="image.png" />

所以我的第二次点击处理程序用“IMG delete_related_sub”提醒我。但是第一个没有被触发。它实际上在一个表中,该表实际上位于由引导选项卡运行的窗格中,但不确定这是否真的有帮助。

4

4 回答 4

3

像这样试试

$(document).on('click', 'img.delete_related_sub', function() {
    alert('testing');
});

只需替换document为图像的静态父级即可。

于 2012-12-05T18:08:13.120 回答
1

用这个:

$("body").on('click', 'img.delete_related_sub', function() {
    alert('testing');
});

或者,在success:给出这个:

$('img.delete_related_sub').click(function() {
    alert('testing');
});
于 2012-12-05T18:09:08.657 回答
0

因为绑定事件的行在添加元素之前运行,所以尝试使用

$(parent).on('click', 'img.delete_related_sub', function() {});

其中parent是一个肯定会存在的静态元素。这是有效的,因为事件绑定到实际存在的元素,然后检查以匹配您的选择器。有关.on()更多详细信息,请参阅。

就像是

$(document).on('click', 'img.delete_related_sub', function() {});

可以正常工作。

于 2012-12-05T18:10:05.423 回答
0
$('.delete_related_sub').live("click", function()
{
    alert('testing');
});

使用实时事件监听点击

于 2012-12-05T18:23:49.650 回答