Как закрыть диалоговое окно SimpleModal, когда пользователь нажимает кнопку «Назад»? - PullRequest
1 голос
/ 12 марта 2010

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

После отображения следующей страницы, если пользователь нажимает кнопку «Назад», на предыдущей странице по-прежнему отображается оверлей SimpleModal, не позволяющий им использовать эту страницу. Это проблема.

Как сделать так, чтобы диалоговое окно SimpleModal автоматически закрывалось, когда он покидает страницу или когда пользователь нажимает кнопку Назад, чтобы вернуться на страницу?

Я попробовал это безуспешно:

$("body").unload(function() {
    $.modal.close();
});

Спасибо!
Уолли

Обновление: вот решение, которое работает лучше всего:

$(window).bind("beforeunload", function() {
    $.modal.close();
});

Ответы [ 2 ]

4 голосов
/ 13 марта 2010

Попробуйте использовать:

$(window).unload(function() {
   $.modal.close();
});
0 голосов
/ 12 марта 2010

Почему не просто

$.modal.close();

в вашем $ (document) .ready ()? Он не должен быть открыт, если пользователь впервые заходит на страницу, и если он есть, он будет автоматически закрыт. Если у вас есть определенное условие, при котором вы хотите, чтобы модальное окно открывалось, когда пользователь загружает страницу, просто установите его, выполнив условную проверку if {}.

...