扩展热键
重要性:5
创建一个函数 runOnKeys(func, code1, code2, ... code_n)
,该函数在同时按下代码为 code1
、code2
、…、code_n
的键时运行 func
。
例如,以下代码显示当同时按下 "Q"
和 "W"
时(在任何语言中,无论是否开启 CapsLock)会弹出警报。
runOnKeys(
() => alert("Hello!"),
"KeyQ",
"KeyW"
);
我们应该使用两个处理程序:document.onkeydown
和 document.onkeyup
。
让我们创建一个集合 pressed = new Set()
来保存当前按下的键。
第一个处理程序向集合中添加键,而第二个处理程序从集合中删除键。每次在 keydown
事件发生时,我们检查是否按下了足够的键,如果按下了,则运行该函数。