第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在元素未聚焦之前未添加或刪除 BeforeUnload 偵聽器

在元素未聚焦之前未添加或刪除 BeforeUnload 偵聽器

慕尼黑8549860 2022-06-16 15:04:02
我正在開發(fā)一個通用應用程序,讓用戶輸入公式并保存,yadda yadda。我想確保在未保存更改時警告用戶,通過應用內(nèi)路由和 beforeunload 事件觸發(fā)的提示。兩者都應該在發(fā)生更改時處于活動狀態(tài),但如果沒有任何更改/表單為空,則恢復為非活動狀態(tài)。第一個完美無缺。第二個,“beforeunload”事件也被讀取和刪除,但前提是觸發(fā)更改為“isEmpty / isDifferent”狀態(tài)的輸入元素首先未獲得焦點。這很煩人,因為當用戶開始輸入時它不會提供即時反饋,因為即使該字段不為空,用戶也可以通過刷新使頁面不被警告,因為他沒有使輸入失去焦點。以下是相關代碼:handleBeforeUnload (e) {      console.log('leaving')      e.preventDefault()    },    leaving (preventDefault) {      if (preventDefault) {        window.addEventListener('beforeunload', this.handleBeforeUnload)        console.log('should be added')      } else {        window.removeEventListener('beforeunload', this.handleBeforeUnload)        console.log('should be removed')      }    }  },  components: {    'form-input': Input,    modal: Modal  },  watch: {    isEmpty () {      this.leaving(!this.isEmpty)    }  },現(xiàn)在我只配置了組件來處理新文檔,這就是為什么我現(xiàn)在只使用“isEmpty”作為狀態(tài)。在“handleBeforeUnload”方法之前,該鏈按預期工作,該方法只能在用戶在輸入未聚焦后刷新或類似情況下觸發(fā)。我推測這種行為可能是 Vue 的生命周期鉤子的結(jié)果,特別是“beforeDestroy”,但我不確定。是什么導致了這種行為?提前致謝。
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

已解決:這已被確認為我在輸入字段上使用“更改”處理程序的副作用,也就是更改處理程序的預期行為。DOM 在“模糊”事件之前沒有更新,當我嘗試通過驗證禁用提交按鈕時發(fā)現(xiàn)了這一點,這導致了同樣的問題。將輸入元素上的“change”事件換成“keyup”解決了這個問題。



查看完整回答
反對 回復 2022-06-16
  • 1 回答
  • 0 關注
  • 128 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號