简体   繁体   English

反应,Javascript - 捕获浏览器/标签关闭事件

[英]React, Javascript - Capture browser/tab close event

I am using beforeunload event handler to capture the browser close event.我正在使用beforeunload事件处理程序来捕获浏览器关闭事件。 I am getting a pop up which shows ' leave ' and ' cancel ' option.我收到一个显示“ leave ”和“ cancel ”选项的弹出窗口。 Is there a way to capture the 'leave' button click event?有没有办法捕捉“离开”按钮点击事件? I want to trigger a functionality is user clicks on 'leave' on that pop up.我想触发一个功能是用户点击弹出窗口上的“离开”。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM