全局Ajax事件處理程序:.ajaxStart()
- 詳細內容
- 分類:JQuery
- 發佈:2013-08-15, 週四 21:21
- 點擊數:2339
(PS:這篇文章是官網API文件的非專業翻譯+個人意見,並且重新排版過)
全局Ajax事件處理程序:.ajaxStart()
註冊一個處理程序,當第一個Ajax要求開始時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。
語法:
.ajaxStart( handler() ) //version added: 1.0
-
handler()
Type: Function()
要被呼叫的函式。
當Ajax要求要被送出去時,jQuery會檢查是否有其他未完成的Ajax要求。假如沒有任何在進行中的Ajax要求,jQuery會觸發ajaxStart事件。此時,每個用.ajaxStart()註冊的處理程序都會被執行。
為了實際觀察這個方法,我們建立了一個基本的Ajax載入要求:
<div class="trigger">Trigger</div> <div class="result"></div> <div class="log"></div>
將下面的事件處理器附加到文件上:
$( document ).ajaxStart(function() { $( ".log" ).text( "Triggered ajaxStart handler." ); });
現在,用jQuery方法來建立一個Ajax要求:
$( ".trigger" ).click(function() { $( ".result" ).load( "ajax/test.html" ); });
當使用者按下具有trigger類別的元素時,Ajax要求被傳送,log訊息就會出現。
從jQuery1.8開始,.ajaxStart()方法應該只被附加到document上。
其他注意事項:
- 假如$.ajax()或是$.ajaxSetup()在呼叫時設定global選項為false,那.ajaxStart()方法將不會被觸發。
範例:
當Ajax要求傳送開始時(並且沒有其他Ajax要求在處理中),顯示一個訊息。
$( document ).ajaxStart(function() { $( "#loading" ).show(); });
按個讚!~支持本站!~
FB推薦載入中