我是jQuery的新手。我试图得到一个div (loading_div)在Ajax调用期间显示,然后在Ajax调用结束时消失。这对于第一次调用很好,但随后的调用不会触发loading_div。我知道这是一个与DOM相关的基本问题,并且至少有一个类似的问题关于这个堆栈,但它并不完全相同。我没能修改答案以适应我的问题。任何帮助都会很感激。
$(function(){
var $loading = $('.loading_div').hide();
$(document)
.ajaxStart(function () {
$loading.show();
})
.ajaxStop(function () {
$loading.hide();
});
});
尝试…(修改HTML见下文)..但还是没有运气。我想加上()会有帮助。有人知道吗?…我都快抓狂了。为了提供更多的背景知识,这是一个加载点jQuery插件的实现。插件工作,第一个ajax调用触发下面的函数。它只是随后的调用不会触发它,除非我刷新页面。
HTML <div class="loading_div">
</div>
JQuery $(function(){
$(document).on("ajaxSend", function(){
$('.loading_div').append($('#loadingdots'));
})
$(document).on("ajaxComplete", function(){
$('.loading_div').remove($('#loadingdots'));
});
});
需要使用AjaxSend()
和AjaxComplete()
。您使用的方法意味着只运行第一个ajax调用。