Подтвердить что ты не робот

JQuery предотвращает закрытие окна

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

4b9b3361

Ответ 1

Вы устанавливаете свойство window onbeforeunload для функции.

В этом сообщении есть хороший пример того, как это сделать.

Или другой пример:

<script language="JavaScript">
  var needToConfirm = true;

  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
    if (needToConfirm)
      return message to display in dialog box;
  }
</script>

...

<input type="Submit" value="Save" onclick="needToConfirm = false;" />


И чтобы установить needToConfirm для вашей формы, вы можете:

$(document).ready(function() { 
    $(':input', document.myForm).bind("change", function() { needToConfirm = true; }); // Prevent accidental navigation away
});

Ответ 2

После меня работали,

 $(window).unload(function() {
                if(event.clientY < 0) {
                    //do whatever you want when closing the window..
                }
            });

Ответ 3

Пользовательский интерфейс JQuery может быть вам полезен - см. эту ссылку. Он показывает несколько разных типов диалоговых окон - тот, который вы хотите, это "Модальное подтверждение", я думаю. Имейте в виду, что библиотека JQuery UI довольно внушительна, так что может быть, вам будет лучше искать более индивидуальный вариант (некоторые из них придумали поиск JQuery Confirm Modal). Я не могу ручаться за качество этих решений, поскольку я их никогда не пробовал.