.ajaxStart()
最初のAjaxリクエストが開始される際に呼び出されるハンドラを登録します。これはAjaxEventです。
.ajaxStart( handler() )
戻り値:jQuery
引数 | 説明 |
---|---|
handler() |
型: 実行する関数を指定します。 |
Ajaxリクエストが送信されようとしているときに、jQueryは未処理のAjax要求であるかどうかを確認します。 進行中で無ければ、jQueryはajaxStartイベントをトリガします。 .ajaxStart()メソッドによって登録されたハンドラが、この際に実行されます。
このメソッドの処理を観察するには、基本的なAjax loadリクエストを設定します。
<div class="trigger">トリガ</div>
<div class="result"></div>
<div class="log"></div>
documentに対して、イベントハンドラを登録します。
$(document).ajaxStart(function() {
$( ".log" ).text( "ajaxStartがトリガされました。" );
});
そして、任意のjQueryメソッドからAjaxリクエストを行います。 ユーザーがtrigeerクラスの要素をクリックし、Ajaxリクエストが始まるとログメッセージが表示されます。
$( ".trigger" ).click(function() {
$( ".result" ).load( "ajax/test.html" );
});
注: .ajaxStart()は、jQueryオブジェクトのインスタンスのメソッドとして実装されているため、thisを使用して、 選択した要素をコールバック関数内で参照することが出来ます。 しかしjQuery1.8で、.ajaxStart()メソッドはdocumentのみにしか使用できなくなりました。
追記: もし、$.ajax()または、$.ajaxSetup()によってglobalオプションをfalseに指定されていれば、 .ajaxStart()はトリガされません。
例: Ajaxリクエストが開始されるとローディングメッセージを表示します。
$(document).ajaxStart(function() {
$( "#loading" ).show();
});
© 2010 - 2017 STUDIO KINGDOM