load在完成时不会触发ajaxSetup完成处理程序

ump*_*sky 7 ajax autocomplete

我有

// Ajax setup
 $.ajaxSetup({
 beforeSend: function() {
 $('#general-ajax-load ').fadeIn();
 },
 complete: function() {
 $('#general-ajax-load ').fadeOut();
 }
});
Run Code Online (Sandbox Code Playgroud)

在页面加载为我的所有ajax调用设置加载动画.除了load()调用之外,它工作正常.对于只有onSend被触发的加载,并且完全永远不会被调用,这导致显示从未消失的动画.

任何的想法?

say*_*yap 5

根据http://bugs.jquery.com/ticket/4086#comment:4,"正确"的方式是:

$(document).ajaxSend(function(event, jqXHR, settings) {
    $('#general-ajax-load ').fadeIn();
});

$(document).ajaxComplete(function(event, jqXHR, settings) {
    $('#general-ajax-load ').fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

我刚做了一些测试,确实似乎适用于所有情况(包括$.load).