似乎这个问题被问了很多,但从未解决过。
我想阻止此对话框(附加图像)在离开页面时出现。每次我在这个页面上的表单中更改某些内容时都会发出警报,但是表单是异步保存的,所以实际上没有任何更改"脏"可以这么说。
我已尝试在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);
答案 0 :(得分:0)
我为此创建了一个有效的解决方案。
如上所述,我的表单会异步保存,因此“您可能会丢失更改”警报并不总是准确无误。
现在任何链接点击都不再出现对话框。但是,这不会检查是否关闭了标签/浏览器。
;(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);