如何修复Javascript功能,以便弹出我的消息

时间:2019-04-07 21:47:03

标签: javascript function dom-events

我正在上一堂功课,这是唯一不起作用的功能。功能(事件)中的消息将不会显示在屏幕上。谢谢。

window.addEventListener('beforeunload', function (event) {
    return 'You have changes that have not been saved...';
}, false);

我希望在文本框中输入内容并尝试重新加载页面时触发该事件。

1 个答案:

答案 0 :(得分:1)

根据您需要调用preventDefault()方法以显示警报的文档,我建议阅读Mozilla文档。

例如:

window.addEventListener('beforeunload', (event) => {
  // Cancel the event as stated by the standard.
  event.preventDefault();
  // Chrome requires returnValue to be set.
  event.returnValue = '';
});

但是它确实可以在不调用preventDefault()方法的情况下工作,因为文档指出并非所有浏览器都支持此方法。

有些浏览器要求您为事件returnValue属性分配一个字符串,或从事件处理程序返回一个字符串。

在您的情况下,我也将返回诸如event.returnValue = '';这样的空白字符串,原因是支持自定义字符串,但是现在不建议使用该字符串,并且在大多数浏览器中均不可用。

最后,我强烈建议阅读Mozilla文档并使用上面的示例代码块,具体取决于您的浏览器,您应该保留或删除event.preventDefault();