.ajaxStop()

.ajaxStop( handler )返回类型:jQuery

描述:注册一个处理函数,当所有的Ajax请求都完成时调用它。这是一个Ajax事件

每当一个Ajax请求完成时,jQuery都检查是否有其它未完成的Ajax请求。如果没有未完成的Ajax请求,jQuery会触发ajaxStop事件。所有用.ajaxStop()方法注册的处理函数都会在此时执行。如果最后正在执行的Ajax请求因为beforeSend回调函数中返回false而被取消时,也会触发ajaxStop事件。

若要在实际操作中观察此方法,请部署一个基本Ajax 载入请求:

1
2
3
<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

把事件处理函数附加到文档:

1
2
3
$( document ).ajaxStop(function() {
$( ".log" ).text( "Triggered ajaxStop handler." );
});

现在,利用任何jQuery方法制作一个Ajax请求:

1
2
3
$( ".trigger" ).click(function() {
$( ".result" ).load( "ajax/test.html" );
});

用户点击带有trigger类的元素,当Ajax请求完成时,显示日志消息。

补充说明:

  • 自从jQuery 1.9以来,所有的针对jQuery全局Ajax事件的处理函数,包括用.ajaxStop()方法添加的那些处理函数,必须附加到document
  • 如果调用$.ajax()$.ajaxSetup(),其global选择被设置为false,则不会引发.ajaxStop()方法。

示例:

当所有的Ajax请求停止之后,隐藏一条载入消息。

1
2
3
$( document ).ajaxStop(function() {
$( "#loading" ).hide();
});