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

问题描述:

我试过做$.ajaxStart(function(){}),但它并没有取代它,但附加。如何取消注册一个设置为jQuery.ajaxStart()函数的处理程序?

+0

没有'$ .ajaxStart()'这样的东西。 – Pointy 2010-07-29 18:00:23

如果我明白了,您想从元素中移除ajaxStart处理程序。

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

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

就是这样!我只是想出了它。谢谢。 – kaneda 2010-07-29 18:02:37

+0

谢谢帕特里克! – 2011-02-24 13:18:56

设置全局选项设置为false

$ .ajaxSetup({全球:假});

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

这为我工作。

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

值得大家注意的是,由于jQuery的1.9,在.ajaxStart()必须连接到document,因此你不能从其他元素连接到的元素,或unbinddocument对于这个问题:

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