У меня есть две функции в моем JQuery, которые действуют на пользователя, покидающего страницу. Идея в том, что если пользователь покидает страницу, закрыв браузер, мы используем:Как остановить событие window.unload
$(window).bind('beforeunload', function() {
return "Are you sure you want to leave this page without saving or submitting?";
});
Теперь мы хотим спросить у пользователя, если они хотели бы сохранить свой прогресс, только если они выйти из страницы, с помощью:
$("#logoutButton").click(function(e) {
var result = confirm("Would you like to save before logging out?");
if(result == true) {
$("#savebutton").click(); //simulate a click on save before redirecting
}
window.location.href = "www.redirectPage.com"; //go to logout page regardless of choice
});
Теперь проблема, что я обращенную, является то, что всякий раз, когда пользователь нажимает кнопку выхода из системы, он выполняет сохранение проверить правильно, но он по-прежнему запрашивает у пользователя, если они хотят, чтобы оставить страницу, используя beforeunload
метод. Есть ли способ остановить beforeunload
от запуска в этом случае изнутри logoutbutton click
функция?
Просто отвязать обработчик события (с '$ (окно) .unbind ('beforeunload')') перед изменением ' location.href'. – raina77ow