2017-09-13 18 views
0

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

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

有最有可能是这个任何情况下,你必须真正触发成功回调的东西第一个Ajax请求 – adeneo

回答

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}); 
+0

谢谢!!!这非常有帮助。我没有意识到你可以附加触发器来做文档。我想我会在未来经常使用它。另外,关于订购的哎呀...我知道,只是累了哈哈...你会看到我甚至把它放在了上面的线上。 –