我的网页上有一个使用javascript的编辑器,我想问用户,即使有未保存的更改,他/她是否想离开页面。
我知道我可以通过以下方式将自定义消息添加到“onbeforeunload对话框”:
window.onbeforeunload = function() {
return 'You have unsaved changes!';
}
(Source),但我只想在确实存在一些未保存的更改的地方显示对话框。怎么做?
谢谢!
最佳答案
您可以执行以下操作:
var unsavedChanges = false;
window.onbeforeunload = function() {
if (unsavedChanges) return 'You have unsaved changes!';
}
function makeSomeChange() {
// do some changes....
unsavedChanges = true;
}
您可以确保在“更改”事件处理程序中更改
unsavedChanges
。