检测元素何时完成加载新HTML

时间:2017-09-13 21:31:24

标签: jquery ajax load

我在另一个js文件中有一个加载事件,它使用.on(' load')在点击分页时加载新的HTML。但是,一旦html完成加载,我需要在另一个脚本中发生一些事情。到目前为止,我已经尝试过这个,但没有运气。 js-ajax-content-container是在新HTML中加载的元素。 js-ajax-link是我点击以启动加载事件的分页链接。

$('body').on('click', '.js-ajax-link', function() {
  $('body').on('.js-ajax-content-container', 'ajaxComplete', function() {
    alert("loaded");
  });
});

1 个答案:

答案 0 :(得分:2)

您可以在一个脚本中触发自定义事件,然后在另一个脚本中侦听它。

顺便说一下,on()的论据顺序错误 首先传递事件名称,然后传递选择器。

$('body').on('click', '.js-ajax-link', function() {
  $('body').on('ajaxComplete','.js-ajax-content-container', function() {
    $(document).trigger('ajaxLinkLoaded');
  });
});  

在另一个脚本中,您可以收听此事件:

$(document).on('ajaxLinkLoaded', function(e){ // do something});