返回值:jQueryajaxStart(handler())
注册一个事件处理函数,这个函数会在第一个 Ajax 请求都开始时调用。这是一个 Ajax 事件。
-
1.0 新增ajaxStart(handler())
handler() (Function) 将要调用的函数
当一个 Ajax 请求将要开始时, jQuery 会检测时候还有其他未完成的 Ajax 请求。如果没有正在进行中的请求, jQuery 就触发一个 ajaxStart
事件。任何先前通过 .ajaxStart()
方法注册的事件处理函数都会在此刻执行。
为了实际研究这个方法,我们构建一个简单的 Ajax load 请求:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
我们可以把我们的事件处理函数附加到任何元素上:
$('.log').ajaxStart(function() { $(this).text('Triggered ajaxStart handler.'); });
现在,我们可以用任意 jQuery 方法来发送一个 Ajax 请求,比如在 click 中发送一个请求:
$('.trigger').click(function() { $('.result').load('ajax/test.html'); });
当用户点击按钮,接着 Ajax 请求将要发送前,会显示日志信息。
注意: 由于 .ajaxStart()
是作为一个 jQuery 对象实例的方法来实现的,所以我们在回调函数中可以通过 this
关键字来指向原先所选中的元素。
示例:
当 Ajax 请求开始,且没有其他正在进行中的 Ajax 请求时,显示加载提示信息。
jQuery 代码:
$("#loading").ajaxStart(function(){
$(this).show();
});