我正在使用beforeunload
事件处理程序来捕获浏览器关闭事件。我得到一个弹出窗口,显示“ leave
”和“ cancel
”选项。有没有办法捕获“离开”按钮的单击事件?我要触发的功能是用户在弹出窗口上单击“离开”。
答案 0 :(得分:0)
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;
};