javascript - React, Javascript - 捕获浏览器/标签关闭事件
问题描述
我正在使用beforeunload
事件处理程序来捕获浏览器关闭事件。我收到一个显示“ leave
”和“ cancel
”选项的弹出窗口。有没有办法捕捉“离开”按钮点击事件?我想触发一个功能是用户点击弹出窗口上的“离开”。
解决方案
const useLeave => {
const [leaveState, setLeaveState] = useState(false);
const unloadCallback = useCallback((event) => {
event.preventDefault();
let res = window.confirm('Leave? Really?’)
setLeaveState(res)
}, [leaveState]);
useEffect(() => {
window.addEventListener('beforeunload', unloadCallback);
return () => {
window.removeEventListener('beforeunload', unloadCallback)
};
}, []);
return leaveState;
};
推荐阅读
- python - 在 CreateView 中上传图片
- regex - 如何在 Go 中缓存已编译的正则表达式
- angular - 使用材料模块从垫子输入更新日期
- javascript - 如何隐藏子元素而不是使用纯 Javascript 删除?
- python - 如何修复我的 IF 语句,以便我无法从列表中删除和附加项目
- javascript - 如何以简单的方式创建数据表?
- python - 无法传递自定义响应
- node.js - Mongoose 公式函数返回 null
- angular - 我正在尝试将用户的电子邮件存储到本地存储中,以便我可以从每个组件中获取它,但它不起作用
- amazon-s3 - 使用 aws 胶合并来自 ec2 的表