我的表單包含多個按鈕和超鏈接,我想在瀏覽器的後退按鈕上顯示警報。 我在下面的代碼,適用於Chrome和Safari,但在IE無法正常工作和Firefox蠻好用的:如何防止window.onbeforeunload事件被按鈕觸發並鏈接事件
window.onload = function() {
var btnClicks = document.getElementsByClassName('noPopup');
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].onclick = setGlobal;
}
for (var i = 0; i < btnClicks.length; i++) {
btnClicks[i].onclick = setGlobal;
}
function setGlobal() {
window.btn_clicked = true;
window.linkClicked = true;
}
window.onbeforeunload = function() {
if (!window.btn_clicked || !window.linkClicked) {
return 'Would you like to save first.';
}
};
};
請幫助。
在此先感謝
在IE
由於OP是用純JS,你可以請更新您的例子刪除了jQuery部分和u se純JS? –
在這裏,您將溢出window.onbeforeunload,因此如果用戶單擊不會將外部重定向的mybutton,然後單擊返回按鈕,他將不會看到onbeforeunload發生 – ekeren
@ekeren是的,如果按鈕不在外面重定向 - 按鈕不應該觸發'onbeforeunload'事件,因此不需要溢出。我更新了我的帖子。謝謝 – tborychowski