您好,登錄后才能下訂單哦!
本篇內容介紹了“jQuery中readyState與status的區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
ajaxStop()函數用于為AJAX請求的ajaxStop事件綁定處理函數。
這是一個全局AJAX事件函數,用于在ajaxStop事件被觸發時執行綁定的事件處理函數。
jQuery官方文檔描述:無論什么時候,當一個AJAX請求完成(無論成功或失敗)時,jQuery會檢查當前是否還有其他活躍的(未完成的)AJAX請求。如果在進程中沒有找到其他活躍的AJAX請求,jQuery就會觸發ajaxStop事件。此時,通過ajaxStop()函數綁定的所有事件處理函數都將被執行。
簡而言之,當一個AJAX請求結束的時候,此時沒有其他活躍的AJAX請求,該請求就會觸發ajaxStop事件。
一般而言,連續執行多個AJAX請求,只有其中最后一個結束的AJAX請求會觸發ajaxStop事件。等到所有AJAX請求執行完畢后,再次連續執行多個AJAX請求,還是只有其中最后一個結束的AJAX請求會觸發ajaxStop事件。
如果某個AJAX請求被禁止觸發全局AJAX事件,則它不會被視為活躍的AJAX請求。
該函數必須在jQuery對象實例上調用,ajaxStop()將為每個匹配元素綁定事件處理函數。當ajaxStop事件被觸發時,所有匹配元素上綁定的處理函數都將被調用。事件處理函數內的this將指向當前DOM元素。
你可以為同一元素多次調用該函數,從而綁定多個事件處理函數。觸發事件時,jQuery會按照綁定的先后順序依次執行綁定的事件處理函數。
從jQuery 1.8開始,該函數只能為document對象綁定事件處理函數,為其他元素綁定的事件處理函數不會起作用。
如果在jQuery.ajax()或jQuery.ajaxSetup()中將選項參數global設為false,可以禁止該AJAX請求觸發全局的AJAX事件。
該函數屬于jQuery對象(實例)。
語法
jQuery 1.0 新增該函數。
jQueryObject.ajaxStop( handler )
參數
參數描述
handlerFunction類型觸發該事件時,需要執行的事件處理函數。
返回值
ajaxStop()函數的返回值為jQuery類型,返回當前jQuery對象本身。
示例&說明
關于ajaxStop事件和ajaxStop事件的觸發機制,你可以參考jQuery的jQuery.ajax()函數的部分源代碼。
通過以下源代碼,我們可以知道:jQuery會統計當前活躍的AJAX請求數。每當開始執行一個AJAX請求時,會在活躍數上加1;每當一個AJAX請求結束時,就在活躍數上減1。如果一個AJAX請求開始時,活躍數為0,則觸發ajaxStart事件;如果一個AJAX請求結束時,活躍數為0,則觸發ajaxStop事件。// jQuery.ajax()函數的開頭部分
var fireGlobals = s.global; // 是否允許觸發全局AJAX事件
// 如果允許觸發全局AJAX事件,并且活躍的AJAX請求數為0,則觸發ajaxStart事件
if ( fireGlobals && jQuery.active++ === 0 ) {
jQuery.event.trigger("ajaxStart");
}
// ... 省略中間的源代碼
// jQuery.ajax()函數的末尾部分
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
// 如果允許觸發全局事件,并且活躍的AJAX請求數為0,則觸發ajaxStop事件
if ( !( --jQuery.active ) ) {
jQuery.event.trigger("ajaxStop");
}
}
“jQuery中readyState與status的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。