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