返回值:jQueryajaxStop(handler())

注册一个事件处理函数,这个函数会在所有的 Ajax 请求都完成时调用。这是一个 Ajax 事件

当一个 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();
      });