JS監聽鍵盤組合事件

2021-10-17 03:16:13 字數 988 閱讀 8717

今天看到乙個需求,要是使用alt+a快捷鍵實現某個功能。

keydown keyup keypress都可以監聽鍵盤事件。

他們之間的區別在於:

// document.addeventlistener('keydown',(e)=>)

// document.addeventlistener('keypress',(e)=>)

document.

addeventlistener

('keyup'

,(e)

=>

)

以ctrl+c為例

document.

addeventlistener

('keydown'

,(e)

=>

})

當按下ctrl、alt、shift鍵時e對應的ctrlkey、altkey、shiftkey是為true的。mac電腦的command鍵是metakey

注意:這裡只能是ctrl、alt、shift 加乙個普通鍵。

我的思路是:在指定時間內(比如300ms),如果按了某鍵,就將改鍵的key存入指定物件上。如果超時或者已經觸發了,就將儲存的物件還原。

然後判斷物件上是否同時存在我們要監聽的按鍵即可。

// 普通兩鍵示例

let firsttime =

0let doubleevent =

document.

addeventlistener

('keyup'

,(e)

=>

else

if(currenttime-firsttime>

300)

}else

if(doubleevent.b&&doubleevent.c)

firsttime =0}

})

ps:有其他思路的大佬,可以指教一下。謝謝

js監聽鍵盤事件

一 監聽全域性鍵盤按下事件,例如監聽全域性回車事件 d ocum ent key down fun ctio n ev ent if e vent key code 13 a lert 你按 下了en ter 二 監聽 某個元件 鍵盤按下 事件 如 butt on按鈕 do cume nt keyd...

js監聽鍵盤 滑鼠組合操作

鑑於各種需求問題,有自己寫了乙個甘特圖,比較簡單,如果這個不符合大家需求,可以看看這個,可直接執行 近期做一款甘特圖的元件,想要實現 ctrl 滾輪 放大縮小甘特圖時間最小刻度的功能,剛開始以為會有組合監聽的辦法,後來發現行不通,鍵盤和滑鼠監聽的方式不同。下面大致說一下實現方式。1 按鍵監聽 js無...

JS監聽鍵盤點選事件

字母和數字鍵的鍵碼值 keycode 按鍵鍵碼 按鍵鍵碼 按鍵鍵碼 按鍵鍵碼a65 j74s83 149b66 k75t84 250c67 l76u85 351d68 m77v86 452e69 n78w87 553f70 o79x88 654g71 p80y89 755h72 q81z90 856...