如果已单击具有特定ID的按钮,请在卸载前禁用JS

时间:2018-10-10 16:54:43

标签: javascript button onbeforeunload

问题:

我有一个beforeunload警告标志,如果用户尝试离开该网页,则会激活该警告标志。如果用户按下特定的按钮,我希望禁用此行为。

JS:

window.addEventListener("beforeunload", function (e) {
    var confirmationMessage = "Not a good idea - want to reconsider?";

    (e || window.event).returnValue = confirmationMessage; //Gecko + IE
    return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
});

HTML:

<a href="survey.php" class="btn btn-primary" id="initiatesurvey">Next</a>

所需的输出:

为了能够在不激活前卸载的情况下单击下一步按钮。我已经看到了许多关于SO的解决方案,但我正在寻找纯JS的解决方案。

1 个答案:

答案 0 :(得分:2)

当事件监听器按下按钮时,将其删除。为此,您需要使用命名函数而不是匿名函数,因此可以在调用@Configuration public class i18nConfiguration extends WebMvcConfigurerAdapter { @Bean public LocaleResolver localeResolver() { SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver(); Locale locale = new Locale("fr", "FR"); sessionLocaleResolver.setDefaultLocale(locale); return sessionLocaleResolver; } } 时引用它。

removeEventListener