.ajaxStop()| jqueryAPI 2.2 中文手册- AspRain.cn 致力于Web开发技术翻译整理

jQuery API 2.2.0

.ajaxStop()

分类:Ajax > 全局Ajax事件处理

返回: jQuery

.ajaxStop( handler )

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

加入于: 1.0
.ajaxStop( handler )
  • handler
    类型:Function()
    将被调用执行的函数。

每当一个Ajax请求结束时,jQuery会检查是否还有别的未解决的Ajax请求。如果没有滞后的Ajax请求,jQuery会触发该ajaxStop事件。任何已经用.ajaxStop()方法注册到该事件的处理函数都会在这个时候执行。如果最后的未解决的Ajax请求因为在beforeSend回调函数中返回false而取消,也会触发ajaxStop事件。

要想在实践中观察该方法,只要设置一个基本的Ajax载入请求:

<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

向document附加该事件:

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

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

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

用户点击带有trigger样式类的元素,当Ajax请求结束的时候,将显示日志消息。

其它说明

  • 自从jQuery 1.9版,所有的用于jQuery全局Ajax事件的处理函数,包括用.ajaxStop()方法添加的处理函数,必须附加到document上。
  • 如果在调用$.ajax()方法或者$.ajaxSetup()方法时,global选项被设置为false,将不会引发.ajaxStop()方法。

示例

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

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

如果网页上不能运行示例,请点击http://www.asprain.cn/jQueryAPI/ajaxstop.htm查看示例。

如果你觉得本文档对你有用,欢迎给翻译作者支付宝打赏,支持翻译作者源源不断翻译更多有用的技术文档。