Я пытаюсь использовать модальное диалоговое окно jQuery UI в качестве индикатора загрузки через события ajaxStart, ajaxStop / ajaxComplete. Когда страница запускается, обработчик Ajax загружает некоторые данные, и модальное диалоговое окно показывает просто отлично. Однако он никогда не скрывает и не закрывает диалоговое окно, когда событие Ajax завершено. Возвращается очень маленький кусочек кода с локального сервера, поэтому фактическое событие Ajax происходит очень быстро.
Вот мой фактический код для модального div:
$("#modalwindow").dialog({
modal: true,
height: 50,
width: 200,
zIndex: 999,
resizable: false,
title: "Please wait..."
})
.bind("ajaxStart", function(){ $(this).show(); })
.bind("ajaxStop", function(){ $(this).hide(); });
Событие Ajax - это просто простой $.ajax({})
вызов метода GET.
Основываясь на некоторых результатах поиска здесь и в Google, я попытался изменить обработчик ajaxStop, чтобы использовать $("#modalwindow").close()
, $("#modalwindow").destroy()
и т. Д. (#Modalwindow, упоминаемый здесь как явный контекст).
Я также пытался использовать стандарт $("#modalwindow").dialog({}).ajaxStart(...
.
Должен ли я связывать события с другим объектом? Или вызывать их из события $.ajax()
complete?
Должен отметить, что я тестирую последние версии IE8, FF 3.6 и Chrome. Все имеют одинаковый / похожий эффект.