gpt4 book ai didi

javascript - 为什么 beforeunload 总是被触发?

转载 作者:行者123 更新时间:2023-12-03 04:34:00 24 4
gpt4 key购买 nike

我有一个表单,当某些元素获得焦点时它会发生变化。
我希望在离开页面时收到警告。所以我保留了一个标志,告诉我这些元素何时发生变化。
问题在于,“此页面正在要求您确认是否要离开”警报始终提示;

function checkSave(){
return PageWasChanged; // it is correct, checked
}
$(window).on("beforeunload", function (eve) {
if (checkSave()) {
return true;
}
else {
return false;
}
});

最佳答案

beforeunload 与其他事件不同。它的处理程序应该返回 undefined (不显示提示)或一个字符串(过去用作提示文本,但在现代浏览器上不存在)。

所以:

$(window).on.("beforeunload", function() {
if (!checkSave()) {
return "You have unsaved changes.";
}
});

或者不使用 jQuery:

window.onbeforeunload = function() {
if (!checkSave()) {
return "You have unsaved changes.";
}
};

关于javascript - 为什么 beforeunload 总是被触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43366840/

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