扩展热键
重要程度: 5
创建一个 runOnKeys(func, code1, code2, ... code_n)
函数,在同时按下 code1, code2, ... code_n
键时运行函数 func
。
例如,当按键 "Q"
和 "W"
被一起按下时(任何语言中,无论是否 CapsLock),下面的代码将显示 alert
:
runOnKeys(
() => alert("Hello!"),
"KeyQ",
"KeyW"
);
我们应该使用两个处理程序:document.onkeydown
和 document.onkeyup
。
让我们创建一个集合 pressed = new Set()
来保存当前被按下的键。
第一个处理程序把当前被按下的键添加到集合中,而第二个处理程序将被松开的按键从集合中移除。我们每次在 keydown
上检查我们是否按下了足够多的键,如果是,则运行函数 func
。