gpt4 book ai didi

javascript - 防止页面离开时弹出 "Confirm Navigation"对话框

转载 作者:行者123 更新时间:2023-11-28 07:24:47 25 4
gpt4 key购买 nike

似乎这个问题已经被问了很多次,但从未得到解决。

我想防止在离开页面时出现此对话框(附图)。每当我更改此页面上表单中的某些内容时,都会发生警报,​​但表单是异步保存的,因此可以说没有任何更改实际上是“脏”的。

Confirm Navigation dialog box

我尝试了在 stackoverflow 和其他网站上找到的一些内容,例如以下内容:

window.onbeforeunload = null;

window.onbeforeunload = function(e) {
e.returnValue = '';
return false;
}

window.onbeforeunload = function(e) {
history.go(0);
}

关于如何删除此问题的一些建议将不胜感激。

编辑:根据要求,这里是我正在尝试的代码示例。文件中还有其他代码,但与之无关。

;(function($) {
// doc ready
$(function(){
// Remove the alert
window.onbeforeunload = null;
});
})(jQuery);

最佳答案

我为此创建了一个可行的解决方案。

如上所述,我的表单是异步保存的,因此“您可能会丢失更改”警报并不总是准确的。

现在,任何链接点击都不再出现该对话框。但是,这不会检查是否关闭选项卡/浏览器。

;(function($){
var dontSubmit = false,
$form = $('form#my-form');

// Prevent the trigger a false submission on link click
window.addEventListener("beforeunload", function (e) {
dontSubmit = true;
$form.trigger('submit');
});

$form.on('submit', function(event){
if (dontSubmit) {
event.preventDefault();
return;
}

// Continue on as normal
});
})(jQuery);

关于javascript - 防止页面离开时弹出 "Confirm Navigation"对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29809614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com