鍍金池/ 問答/Android  HTML/ js在整個頁面屏蔽“backspace”“enter”鍵的情況下,能單獨讓紅框中

js在整個頁面屏蔽“backspace”“enter”鍵的情況下,能單獨讓紅框中不屏蔽嗎?

圖片描述

回答
編輯回答
挽歌

大概這樣吧:

var $textarea = document.querySelector('#foo')

document.addEventListener('keydown', function(event){
  var needPrevent = true
  var tar = event.srcElement || event.target

  if(event.keyCode == 8) {
    if($textarea == tar) {
      needPrevent = false
    }
    
    if(needPrevent) {
    event.preventDefault();
    return false;
    }
  }
})

思路很簡單,就是判定一下觸發(fā)事件的源節(jié)點是哪個就好了,關于判定的邏輯我只是簡單用 == 做了一下引用比較,可以擴展為自定義的邏輯。

2018年9月19日 17:25