UI блока jQuery, когда ajax запускается

Я пытаюсь показать blockui, когда ajax запускается как так:

 // block when ajax activity starts
    $(document).ajaxStart($.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' }));

и затем я хочу остановить его выполнение

 // unblock when ajax activity stops 
    $(document).ajaxStop($.unblockUI); 

Проблема Состоит в том, что это не загрузится, когда ajax будет выполнен, что я сделал неправильно'??

7
задан user342391 15 June 2010 в 18:17
поделиться

2 ответа

Я думаю, вам нужно изменить это следующим образом:

$(document).ajaxStart(function () {
  $.blockUI({ message: '<h1><img src="busy.gif" /> Just a moment...</h1>' });
});

Когда вам нужно передать параметры функции, которую вы хотите привязать, вы должны использовать анонимную функцию, а затем вызвать свой метод внутри нее. $ .blockUI () возвращает то, что нельзя вызвать, поэтому привязать его таким образом не получится.

7
ответ дан 7 December 2019 в 03:11
поделиться

Согласно документации jQuery :

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

Так, возможно, у вас есть другие запросы AJAX, которые препятствуют срабатыванию этого события?

2
ответ дан 7 December 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: