Я делаю Ajax GET для некоторого HTML, который затем заполняет div с помощью:
$(theDiv).html(theHtml)
Этот HTML включает в себя кнопку (скажем, «Button A»), которая отображает диалог jQuery через:
$(selector).dialog({modal:true});
При нажатии кнопки «A» диалоговое окно отображается каждый раз.Однако внутри диалога я включил ссылку «Отмена».Ссылка отмены срабатывает:
$(selector).dialog("close")
Я заметил, что большую часть времени она работает просто замечательно.Однако, если я быстро нажму кнопку «A» сразу после завершения Ajax GET, ссылка отмены НЕ закроет диалоговое окно!Кнопка «X» в правом верхнем углу диалогового окна всегда работает, но я борюсь с кнопкой «Отмена».
Я пробовал несколько разных вещей, чтобы заставить это работать безпомогло.Это происходит в Firefox 3.5.9, а также в IE 7. Если я использую Firebug и ставлю точку останова после оператора .dialog('close');
, то я замечаю, что цвет фона на экране меняется с серого на белый, но диалоговое окно остается открытым,Я даже пытался решить проблему, выполнив:
$(selector).css("display", "none");
безрезультатно.
По какой-то причине, при первом запуске Ajax GET у меня НИКОГДА не возникало этой проблемы ..Поэтому, когда я захожу на страницу и выполняю GET в первый раз, она работает каждый раз.Однако, если я остаюсь на странице и продолжаю запускать GET, пока DOM все еще загружен, это работает, может быть, только в 50% случаев.
Я очень ценю любую помощь, которую кто-либо готов предоставить!
Спасибо,
Энди