Как запретить пользователю менять страницу с помощью jQuery - PullRequest
8 голосов
/ 09 июля 2009

У меня есть страница с формой, которая отправляется через ajaxSubmit () (то есть без изменения страницы).

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

Например, Gmail делает это с помощью всплывающего окна, похожего на window.confirm, но если это возможно, я бы хотел обработать его с помощью пользовательских сообщений и параметров.

У jQuery есть событие unload:

$(window).unload( function () { alert("Bye now!"); } );

но это позволяет мне просто сделать что-то перед выходом со страницы; мне нужно «заблокировать» выход страницы, если пользователь нажмет соответствующую кнопку.

Итак, как обработать (и отменить) событие выхода из страницы?

Ответы [ 2 ]

16 голосов
/ 09 июля 2009

попробуйте следующее. Демоверсия здесь

<script type="text/javascript">

       function unloadPage(){
           return "dont leave me this way";
       }

       window.onbeforeunload = unloadPage;

</script>
11 голосов
/ 07 октября 2011

Возможно связать событие onbeforeunload с помощью jQuery:

$(window).bind('beforeunload', function(e) {
    return "ATTENZIONE!!";
});

Работает !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...