ajaxStop()
在AJAX 请求完成时执行一个处理函数。这是一个 Ajax Event。
.ajaxStop(handler)
- handler类型:Function()。被调用的函数。
每当一个Ajax请求完成,jQuery检查是否有任何其他响应过程中的Ajax请求(注:未完成的请求)。如果都执行完成,jQuery就会触发ajaxStop
事件,在这个时间点所有处理函数都会使用.ajaxStop()
方法注册并执行。如果一个未处理完成的Ajax请求用beforeSend
回调函数返回false
取消,ajaxStop
事件也被触发
观察这种方法,建立一个基本的Ajax加载请求:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
在document上绑定事件处理器:
$( ".log" ).ajaxStop(function () { $(this ).text( "Triggered ajaxStop handler." ); });
现在,我们可以使用任何的jQuery方法构建一个Ajax请求:
$( ".trigger" ).click(function () { $( ".result" ).load( "ajax/test" ); });
当我们点击class为trigger
的元素并且Ajax请求完成,这个信息就会显示。
其他注意事项:
- 在jQuery1.9中,jQuery全局AJAX事件的所有处理程序,包括哪些
.ajaxStop()
添加的方法,必须附加到document
上。 - 如果
$.ajax()
或$.ajaxSetup()
调用时,global
选项设置为false
,.ajaxStop()
将不会触发。
例子
在Ajax请求停止后隐藏加载信息:
$(document).ajaxStop(function () { $( "#loading" ).hide(); });