Я хочу спросить пользователя, действительно ли он хочет покинуть страницу или нет, когда он нажимает кнопку закрытия, как это было сделано в документах google. Как это сделать с помощью jquery?
JQuery предотвращает закрытие окна
Ответ 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). Я не могу ручаться за качество этих решений, поскольку я их никогда не пробовал.