返回值:jQueryajaxStop(handler())
注册一个事件处理函数,这个函数会在所有的 Ajax 请求都完成时调用。这是一个 Ajax 事件。
-
1.0 新增ajaxStop(handler())
handler() (Function) 将要调用的函数
当一个 Ajax 请求完成后, jQuery 会检测时候还有其他未完成的 Ajax 请求。如果没有还未完成的请求了, jQuery 就触发一个 ajaxStop
事件。任何先前通过 .ajaxStop()
方法注册的事件处理函数都会在此刻执行。
为了实际研究这个方法,我们构建一个简单的 Ajax load 请求:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
我们可以把我们的事件处理函数附加到任何元素上:
$('.log').ajaxStop(function() { $(this).text('Triggered ajaxStop handler.'); });
现在,我们可以用任意 jQuery 方法来发送一个 Ajax 请求,比如在 click 中发送一个请求:
$('.trigger').click(function() { $('.result').load('ajax/test.html'); });
当用户点击按钮,接着等 Ajax 请求完成后,就会显示日志信息。
注意: 由于 .ajaxStop()
是作为一个 jQuery 对象实例的方法来实现的,所以我们在回调函数中可以通过 this
关键字来指向原先所选中的元素。
示例:
当所有的 Ajax 请求结束后,隐藏加载提示信息。
jQuery 代码:
$("#loading").ajaxStop(function(){
$(this).hide();
});