我正在上一堂功课,这是唯一不起作用的功能。功能(事件)中的消息将不会显示在屏幕上。谢谢。
window.addEventListener('beforeunload', function (event) {
return 'You have changes that have not been saved...';
}, false);
我希望在文本框中输入内容并尝试重新加载页面时触发该事件。
答案 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();