<script src="js/jquery/jquery-1.6.js" type="text/javascript"></script>
如何设置ajaxStart ??
我得到“$ .ajaxStart不是函数”
function Loader(){
this.loader = null;
this.cnstr = function(){
if(!this.loader){
this.loader = DOM.div(document.body);
with(this.loader){
className = 'loader';
innerHTML = 'loader';
style.display = 'none';
}
elm_position_center(this.loader);
$(this.loader).fadeIn(1000);
}
};
this.dstr = function(){
if(this.loader){
DOM.rmv(this.loader);
}
};
}
var Loader = new Loader();
$.ajaxStart(function(){
Loader.cnstr();
});
$.ajaxStop(function(){
Loader.dstr();
});
编辑:
$ .ajaxStart不是函数
window.onload = function(){
$.ajaxStart(function(){
Loader.cnstr();
});
$.ajaxStop(function(){
Loader.dstr();
});
};
答案 0 :(得分:9)
这有效..
$(document).ajaxStart();
答案 1 :(得分:1)
您的jquery文件可能已丢失或您未正确加载
答案 2 :(得分:0)
您需要确保加载jQuery。尝试将此添加到您的文档中:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
答案 3 :(得分:0)
试试这个:
$("#loadingAnimation").bind({
ajaxStart: function(){ $(this).show(); },
ajaxStop: function() { $(this).hide(); }
});
基本上将您的loadingAnimationElement绑定到全局触发的ajaxStart和ajaxStop事件。只有在您打算出现时才显示。
当jQuery没有执行任何Ajax请求并启动新请求时,它会触发ajaxStart事件。如果其他请求在第一个请求结束之前开始,则这些新请求不会导致新的ajaxStart事件。当最后一个挂起的Ajax请求完成且jQuery不再执行任何网络活动时,将触发ajaxStop事件。
//感谢Kevin Brown提醒我解释这个例子。
答案 4 :(得分:0)
自jQuery 3.5.0之类的别名ajaxStart
被弃用以来。
我们还将AJAX事件别名放在列表中,可以用
.on('ajaxStart', …)
等替换。 jQuery Migrate会警告这些现在不推荐使用的方法,但是它们会一直存在到jQuery 4.0。