2013-04-23 61 views
5

使用。如果我使用.ajaxStop這樣的附加一個事件處理事件處理程序:刪除由.ajaxStop

$(document).ajaxStop(function() { 
    //Some code 
}); 

如何刪除該事件處理程序?

+0

可能是'.off()'或'.unbind()'將有助於 – 2013-04-23 05:05:56

+0

以及在這種情況下使用的確切代碼是什麼? – 2013-04-23 05:06:24

+0

看到你的答案是 – 2013-04-23 05:06:43

回答

3

使用.off()

刪除的事件處理程序。

$("#elementID").off() 

這將刪除所選元素

+0

但是這種情況下確切的代碼是什麼? – 2013-04-23 05:07:01

+0

因爲你需要提供代碼給我們,並告訴我們你需要什麼actaully ..你談論哪個事件?等等 – bipen 2013-04-23 05:07:52

+0

我想讓.ajaxStop處理程序停止執行我給它的代碼 – 2013-04-23 05:09:39

12

所有事件處理程序嘗試解除綁定它,就像這樣:

$(document).ajaxStop(function() { 
    $(this).unbind("ajaxStop"); 
    //Some code 
}); 

它是如何我一直在這樣做。

+0

這適用於我:)謝謝。 – Qerjiuthn 2016-05-05 09:16:02

+0

我需要使用'$(document).unbind('ajaxStop');'而不是'$(this)'。 – Tim 2017-02-16 11:03:04

+0

從3.0版開始,jQuery的'unbind'已被棄用,而不是使用'off'。 – Tim 2018-02-04 15:31:17

0

如果您需要確保它被刪除之前內部ajaxStop()方法處理程序代碼被執行,我提出以下建議:

$(document).ajaxStop(function(){  
    // Functions there 

    $(this).unbind("ajaxStop"); 
}); 

格外有用的,如果你有各種可能的$就在同一頁面,並且您想要控制執行ajaxStop()代碼的位置。然後你只需要在需要的jQuery函數中使用這段代碼。

+0

jQuery的'unbind'從版本3.0開始已棄用,請使用'off'代替。 – Tim 2018-02-04 15:31:20