vue 添加移除beforeunload事件


 var vue = new Vue({
        el: '#app',
        methods: {
            //添加beforeunload監聽事件
            createBeforeunloadHandler() {
                //window.addEventListener('beforeunload', e => this.beforeunloadHandler(e));
                window.addEventListener('beforeunload', this.beforeunloadHandler, false);
            },
            //移除beforeunload事件
            destroyedBeforeunloadHandler() {
                //window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e));//錯誤方法,無法移除
                window.removeEventListener('beforeunload', this.beforeunloadHandler, false);
                //this.rowEditEnable = 0;
            },
            //beforeunload監聽事件
            beforeunloadHandler(e) {
                    e.returnValue = "確定要關閉窗口嗎?";
                    console.log("釋放權限操作");
                    //釋放權限操作,無阻塞
                    //用戶點擊取消后執行,恢復操作
                    setTimeout(function () {
                        setTimeout(function () {
                 console.log("恢復用戶權限操作");
              }, 50) }, 50); }, }, beforeDestroy() { //在 beforeDestroy 鈎子移除beforeunload事件 this.destroyedBeforeunloadHandler(); }, });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM