javascript - 如何在合适的时候显示onbeforeunload dialog?

标签 javascript onbeforeunload

我的网页上有一个 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

关于javascript - 如何在合适的时候显示onbeforeunload dialog?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2663728/

相关文章:

javascript - 使用 ElasticSearch 连接查询

Javascript -= 命令乘以每个循环

javascript - 单选按钮 asp.net 突出显示 div

php - onbeforeunload 似乎并不总是被触发

javascript - 用户可以更改 javascript 闭包函数吗?

javascript - 通过javascript添加meta标签可以在源码中看到

c# - 在浏览器关闭时运行服务器端功能

javascript - 当我在事件 "onbeforeunload"中进行异步 XMLHttpRequest 调用时,幕后会发生什么?

javascript - 自定义 onbeforeunload 对话框

javascript - 浏览器等待 ajax 调用完成,即使在调用 abort 之后(jQuery)