由ajax加载的事件侦听器

时间:2014-02-16 23:30:55

标签: javascript jquery ajax

我通过ajax上传到页面元素,其中一些有子类“evented”。我需要在子载荷上向父类添加类。我试过这个

$(document).on('load','.evented',function(){         
    $('.evented').parent().closest('td').addClass('td_class');
});

但正如预期的那样它不起作用,因为td没有“加载”事件。我可以执行此代码,就像ajax响应的一部分,但在这种情况下,我将有重复的事件侦听器,我仍然需要相同的代码,用于文档准备好时存在的元素。

1 个答案:

答案 0 :(得分:0)

我假设您使用load()方法加载内容,在这种情况下,您必须使用load方法的成功处理程序来执行此操作。

$(el).load(url, function(){
    $(this).find('.evented').closest('td').addClass('td_class');
})

如果您没有使用load()方法,而是使用其他ajax方法,例如$ .ajax()/ $。get()等,那么在将内容添加到页面后,您将不得不这样做

$.ajax(...).done(function(result){
    $(el).html(result).find('.evented').closest('td').addClass('td_class');
})