.ajaxStart()

.ajaxStart( handler )返回类型:jQuery

描述:注册一个事件处理函数,在第一个Ajax请求开始之前调用它。这是一个Ajax事件

每当一个Ajax请求即将发送时,jQuery会检查是否有其它未完成的Ajax请求。如果没有正在处理的Ajax请求,jQuery会触发ajaxStart事件。所有用.ajaxStart()方法注册的处理函数都会在此时执行。

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

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

对任何元素附加此事件处理函数:

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

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

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

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

补充说明:

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

示例:

每当一个Ajax请求开始时(还没有激活时)显示一条载入消息。

1
2
3
$( document ).ajaxStart(function() {
$( "#loading" ).show();
});