.ajaxStart()
分类:Ajax > 全局Ajax事件处理
返回: jQuery
.ajaxStart( handler )
描述:注册一个处理函数,当第一个Ajax请求开始之前调用它。这是一个Ajax事件。
每当一个Ajax请求即将被发送时,jQuery会检查是否还有别的未解决的Ajax请求。如果没有别的Ajax请求正在处理中,jQuery会触发该ajaxStart
事件。任何已经用.ajaxStart()
方法注册到该事件的处理函数都会在这个时候执行。
要想在实践中观察该方法,只要设置一个基本的Ajax载入请求:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
向任何元素附加该事件:
$( document ).ajaxStart(function() { $( ".log" ).text( "Triggered ajaxStart handler." ); });
现在,使用任何jQuery方法制作一个Ajax请求:
$( ".trigger" ).click(function() { $( ".result" ).load( "ajax/test.html" ); });
用户点击带有trigger
样式类的元素之后,当Ajax请求发送时,将显示日志消息。
其它说明
- 自从jQuery 1.9版,所有的用于jQuery全局Ajax事件的处理函数,包括用
.ajaxStart()
方法添加的处理函数,必须附加到document
上。 - 如果在调用
$.ajax()
方法或者$.ajaxSetup()
方法时,global
选项被设置为false,将不会引发.ajaxStart()
方法。
示例
每当一个Ajax请求开始时(而且没有别的Ajax请求还在活动时),显示一条载入消息。
$( document ).ajaxStart(function() { $( "#loading" ).show(); });