Закройте SimpleModal после использования кнопки назад с историей

0

Я использую History.js и Eric Martin SimpleModal. У меня есть следующий код:

jQuery(function() {

   var History = window.History;

   History.Adapter.bind(window,'statechange',function(){
    var State = History.getState();
    History.log(State.data, State.title, State.url);
   });

   ('body').delegate('a', 'click', function () {
        $.modal("<div><h1>Test</h1></div>", {
            close: true,
            opacity: 70,
            onShow: function (){
                History.pushState({state:1}, "State 1", "?state=1");
            },
            onClose: function (){
                History.back();
                $.modal.close();
            }
        });
   });
});

Прямо сейчас, если вы нажмете на ссылку и появится модальность, она изменит состояние, как должно. Если вы закрываете модальный, он отлично работает.

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

Теги:
simplemodal
history.js

1 ответ

1

Попробуй это:

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

Или с событием history.js "window.onstatechange".

  • 0
    Спасибо за ответ. Если я помещаю его в событие window.onstatechange , оно нарушает модальное состояние и выдает ошибку Uncaught TypeError: Cannot call method 'focus' of undefined .
  • 0
    Затем попробуйте: $ (window) .on ('unload', function () {$ .modal.close ();});
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню