擴充熱鍵
重要性:5
建立一個函式 runOnKeys(func, code1, code2, ... code_n)
,在同時按下具有代碼 code1
、code2
、...、code_n
的按鍵時執行 func
。
例如,以下程式碼會在同時按下 "Q"
和 "W"
時顯示 alert
(在任何語言中,不論是否開啟 CapsLock)
runOnKeys(
() => alert("Hello!"),
"KeyQ",
"KeyW"
);
我們應該使用兩個處理常式:document.onkeydown
和 document.onkeyup
。
讓我們建立一個集合 pressed = new Set()
來儲存目前已按下的按鍵。
第一個處理常式會將按鍵加入集合,而第二個處理常式會將按鍵從集合中移除。每次在 keydown
時,我們都會檢查是否有按下足夠的按鍵,如果有,就執行函式。