如何取消注册设置为jQuery.ajaxStart()函数的处理程序?

我尝试过$.ajaxStart(function(){}) ,但它不会替换它,而是附加。

如果我理解,你想从元素中删除ajaxStart处理程序。

如果是这样,只需使用jQuery的unbind()因为处理程序作为事件附加。

 $('selector').unbind('ajaxStart'); 

将全局选项设置为false

$ .ajaxSetup({global:false});

http://api.jquery.com/jQuery.ajaxSetup/

这对我有用。

 $(document).ready(function () { $(document).unbind('ajaxStart'); $(document).unbind('ajaxStop'); }); 

值得注意的是,自jQuery 1.9起, .ajaxStart()必须附加到document ,因此您无法将其附加到元素,或者从document以外的元素unbind

从jQuery 1.9开始,jQuery全局Ajax事件的所有处理程序,包括那些添加了.ajaxStart()方法的处理程序,都必须附加到document。