在原型中,我可以用以下代码显示“正在加载…”图像:
var myAjax=new Ajax.Request(url,{method:'get',参数:pars,
onload:showLoad,onComplete:showResponse});
函数showLoad(){
...
}
在jQuery中,我可以使用以下命令将服务器页面加载到元素中:
$('#message').load('index.php?pg=ajaxFlashcard');
但如何像在原型中那样将加载微调器附加到该命令
有两种方法。我的首选方法是将函数附加到元素本身上的ajaxStart/Stop事件
$('loadingDiv')
.hide()//最初隐藏它
.ajaxStart(函数(){
$(this.show();
})
.ajaxStop(函数(){
$(this.hide();
})
;
每当您进行任何Ajax调用时,ajaxStart/Stop函数都将启动
更新:从jQuery 1.8开始,文档说明.ajaxStart/Stop只应附加到文档。这会将上述代码段转换为:
var$loading=$('#loadingDiv').hide();
$(文件)
.ajaxStart(函数(){
$loading.show();
})
.ajaxStop(功能(){
$loading.hide();
});