Jquery 订阅';完成';特定DOM元素上的.load()事件?
我已经使用.live()和.bind('ajaxComplete')来完成某些相关任务,但我发现自己希望能够监听特定DOM元素的“complete”事件,该事件将在不同时间调用jQuery的.load() 在这种情况下,我不想全局侦听所有完整事件(除非有人能告诉我如何从“ajaxComplete”返回的事件对象中获取适当的目标)。我希望能够做到以下几点:Jquery 订阅';完成';特定DOM元素上的.load()事件?,jquery,ajax,Jquery,Ajax,我已经使用.live()和.bind('ajaxComplete')来完成某些相关任务,但我发现自己希望能够监听特定DOM元素的“complete”事件,该事件将在不同时间调用jQuery的.load() 在这种情况下,我不想全局侦听所有完整事件(除非有人能告诉我如何从“ajaxComplete”返回的事件对象中获取适当的目标)。我希望能够做到以下几点: $('.selector').load('url.php',{data:data},function(){ // LOCAL compl
$('.selector').load('url.php',{data:data},function(){
// LOCAL complete function
});
然后在其他地方,每当ajax调用触发并完成时,附加一个处理程序来侦听和执行一些其他代码:
$('.selector').bind('complete',function(){ ... });
我知道我可以使用上面提到的“本地完整函数”来附加一些功能,但我希望能够从代码中的其他地方绑定到完整事件,就像我对其他事件(如“单击”)所做的那样
有没有办法做到这一点?或者我必须始终在load()方法的上下文中使用“complete”事件吗?如果您的示例已接近尾声,请参阅jQuery上的.load()文档
只需在本地complete回调中触发complete事件:
$('.selector').load('url.php',{data:data},function(){
$(this).trigger('complete');
// Local handling of the complete event.
});
$('.selector').bind('complete',function(){ ... });
? 根据文档,load()方法采用可选的数据对象参数。加载(url,[数据],[完成(responseText,textStatus,XMLHttpRequest)]编辑:如果问题不清楚,我很抱歉,在上面编辑谢谢,这正是我需要的!这是一个非常简单的解决方案
$('.selector').load('url.php',{data:data},function(){
$(this).trigger('complete');
// Local handling of the complete event.
});
$('.selector').bind('complete',function(){ ... });