如何在特定的 ajax 调用上调用 .ajaxStart()

2023-12-27

我对网站文档进行了一些 ajax 调用,这些调用根据 ajax 状态显示或隐藏进度条

  $(document).ajaxStart(function(){ 
        $('#ajaxProgress').show(); 
    });
  $(document).ajaxStop(function(){ 
        $('#ajaxProgress').hide(); 
    });

我想基本上在网站的其他部分重写这些方法,在这些部分进行大量快速的小型 ajax 调用,并且不需要进度条弹出和弹出。我正在尝试将它们附加到或插入到其他 $.getJSON 和 $.ajax 调用中。我尝试过将它们链接起来,但显然这不好。

$.getJSON().ajaxStart(function(){ 'kill preloader'});

2018年注:这个答案已经过时了;请随意提出对此答案的可行修改。

您可以使用自定义命名空间绑定 ajaxStart 和 ajaxStop:

$(document).bind("ajaxStart.mine", function() {
    $('#ajaxProgress').show();
});

$(document).bind("ajaxStop.mine", function() {
    $('#ajaxProgress').hide();
});

然后,在网站的其他部分,您将暂时解除它们的绑定before你的 .json 调用:

$(document).unbind(".mine");

得到了这个想法here https://stackoverflow.com/questions/1061922/jquery-should-i-use-multiple-ajaxstart-ajaxstop-handling在寻找答案的同时。

EDIT:我还没时间测试,唉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在特定的 ajax 调用上调用 .ajaxStart() 的相关文章

随机推荐