React,Javascript-捕获浏览器/选项卡关闭事件

时间:2019-10-01 00:20:42

标签: javascript reactjs

我正在使用beforeunload事件处理程序来捕获浏览器关闭事件。我得到一个弹出窗口,显示“ leave”和“ cancel”选项。有没有办法捕获“离开”按钮的单击事件?我要触发的功能是用户在弹出窗口上单击“离开”。

1 个答案:

答案 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;
};