请问一下js有关闭窗口时的事件吗(点击右上角的x),我想在关闭窗口时清除localStorage
可以使用beforeunload 事件捕获,但是需要注意到是,注册事件必须注册在window对象才能生效,如果想在document.body上捕获,那么只有绑定事件才会生效,详情可以参考我在该问题处的回复
这个明显 MDN 的事情。前面几个回答已经提到了,是使用 unload,不过关键你还想进行相关的操作,这样的话,相当于你拦截了关闭窗口,然后想执行完其它操作之后在进行关闭。这里就 结合 unload
事件和 window.close()
来做这样的事情。
window.addEventListener("beforeunload",e=>{
// dosth
// then close it
window.close()
},false)
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
可以的,unload、beforeUnload都可以,但是建议使用beforeUnload绑定处理,因为这个时候还可以弹窗提示,unload时已经不能再有交互操作了,具体可以看看mdn手册https://developer.mozilla.org...,在unload之前还有两个事件:beforeunload (可取消默认行为的事件)和pagehide