.ajaxStart()


.ajaxStart( handler )Возвращает: jQuery

Описание: Регистрирует обработчик который вызывается при начале выполнения первого Ajax запроса. Является Ajax событием.

Всякий раз, когда Ajax запрос отправляется, jQuery проверяет другие исходящие Ajax запросы. Если ни один из них не в процессе, то jQuery инициирует ajaxStart событие. Все обработчики зарегистрированные при помощи метода .ajaxStart() выполняются в этот момент.

Для наблюдения этого метода в действии, установим обработчик и вызовем Ajax load запрос:

1
2
3
<div class="trigger">Trigger</div>
<div class="result"></div>
<div class="log"></div>

Добавляем обработчик события к document:

1
2
3
$( document ).ajaxStart(function() {
$( ".log" ).text( "Triggered ajaxStart handler." );
});

Теперь, выполняем Ajax запрос при помощи одного из методов jQuery:

1
2
3
$( ".trigger" ).click(function() {
$( ".result" ).load( "ajax/test.html" );
});

Когда пользователь кликает по элементу с классом trigger и Ajax запрос будет отправлен, сообщение показывается внутри элемента с классом log.

Примечания:

  • Начиная с версии jQuery 1.9, все обработчики для глобальных Ajax событий, включая добавленные методом .ajaxComplete(), должны быть прикреплены к to document.
  • Если $.ajax() или $.ajaxSetup() вызваны с параметром global равным false, то обработчики .ajaxComplete() не будут вызваны.

Пример:

Показываем сообщение о загрузке каждый раз при старте Ajax запроса (и более нет активных запросов).

1
2
3
$( document ).ajaxStart(function() {
$( "#loading" ).show();
});