7

我的网页上有一个 javascript 编辑器,我想问用户他/她是否想离开页面,即使有未保存的更改。

我知道我可以通过这种方式将自定义消息添加到“onbeforeunload 对话框”:

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

( Source ) 但我只想在确实有一些未保存的更改时才显示对话框。怎么做?

谢谢!

4

1 回答 1

9

你可以这样做:

var unsavedChanges = false;
window.onbeforeunload = function() {
  if (unsavedChanges) return 'You have unsaved changes!';
}

function makeSomeChange() {
  // do some changes....
  unsavedChanges = true;
}

您可以确保更改unsavedChanges“更改”事件处理程序。

于 2010-04-18T20:07:19.463 回答