[英]Prevent the “Confirm Navigation” dialog box from popping up on page leave
這個問題似乎已經被問了很多,但從未解決。
我想防止在離開頁面時出現此對話框(附加圖像)。 每當我更改此頁面上的表單中的任何內容時,都會發生警報,但是表單是異步保存的,因此可以這么說,實際上沒有任何更改是“骯臟的”。
我已經嘗試了一些在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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.