Javascript Window.onbeforeunload элемент управления перехватом события - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть веб-приложение на C # .NET MVC3, и у меня есть вопрос, связанный с приложенным вопросом Stackoverflow.Я использую событие window.beforeunload, чтобы увидеть, были ли внесены изменения в моем представлении.Если так, я предупреждаю пользователя, что у него есть несохраненные изменения.Однако, если они выбрали кнопку Создать (отправить), диалоговое окно, предупреждающее пользователя, все еще всплывает.Я не хочу выскакивать диалоговое окно, если выбрана кнопка Создать.Есть идеи?Есть ли способ узнать, какой элемент управления был нажат?

1 Ответ

2 голосов
/ 01 декабря 2011

Я могу думать о 2 решениях:

$('#submitBtn').click(function() {
    unbindOnBeforeUnload();
});

// OR

// maybe you have multiple cases where you don't want this triggered,
// so this will be better
var shouldTriggerOnBeforeUnload = true;
$('#submitBtn').click(function() {
    shouldTriggerOnBeforeUnload = false;
});
...
$(document).unload(function() {
    if (shouldTriggerOnBeforeUnload) {
        confirm();
    }
});

Я написал это в jQuery-подобном синтаксисе, но только для того, чтобы код был кратким, вы можете адаптировать его к чему угодно.*

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