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

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

IE下用react添加keydown事件 backspace按鍵會導(dǎo)致頁面回退

IE下用react添加keydown事件 backspace按鍵會導(dǎo)致頁面回退

慕妹3146593 2019-02-26 16:27:51
先描述下出現(xiàn)問題的場景,使用react在組件componentDidMount時添加監(jiān)聽事件 window.addEventListener('keydown', this.handleKeyDown);當組件銷毀時移除這個監(jiān)聽事件。鍵盤事件處理是在input框聚焦時,判斷是否按下了“backspace”鍵時,如果這個input框內(nèi)有值,則會先刪除,當沒有值時,繼續(xù)按下“backspace”,將會執(zhí)行某個函數(shù),貼出如下代碼:按下“backspace”后里面執(zhí)行的這個函數(shù)的作用在這里和我要問的問題沒什么太大關(guān)系,我就不詳細說了;接下來問題來了,按下了“backspace”后,先是把input內(nèi)的值刪除了,在谷歌、火狐等瀏覽器里沒有值以后會執(zhí)行這里面的函數(shù),不會有其他操作;然后到了IE里面,這個input框沒有值的時候,然后再按一下就會把頁面給回退了,這里面的函數(shù)執(zhí)行了也看不到。求大神們有沒有什么方法可以阻止IE頁面回退。第一次提問題,如果大家覺得問題描述不夠清楚可以留言繼續(xù)問我,我盡量解釋解釋。煩請各位大神多多指導(dǎo)~謝謝??!
查看完整描述

1 回答

?
慕尼黑5688855

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

問題解決了,我在處理backspace的時候,加阻止冒泡,同時返回false來禁止執(zhí)行,重點是這個false來起作用。。。結(jié)果就好了,,,了。。。。。。。

這樣就把IE默認自帶的回退按鍵禁止了。。。

更新代碼如下

handleKeyDown (e) {


    if (document.activeElement.className === 'search-input') {

        let cursorPosition = this.props.cursorPosition

        switch (e.keyCode) {

        case KeyCodeMap.BACK_SPACE:

        case KeyCodeMap.DELETE:

            if (this.autoComplete.isEmpty() && cursorPosition >= 0) {

                this.props.onHandleDeleteSelect(cursorPosition)

            }

if (this.autoComplete.isEmpty() && e.keyCode === KeyCodeMap.BACK_SPACE) {


                e.preventDefault()

                e.stopPropagation()

                return false

            }

            break


        case KeyCodeMap.LEFT:

            XXXXXXX

            XXXXXXX

            break


        case KeyCodeMap.RIGHT:

            XXXXXXX

            XXXXXXX

            break

        default:

            break

        }

    }

}


查看完整回答
反對 回復(fù) 2019-03-06
  • 1 回答
  • 0 關(guān)注
  • 526 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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