扩展热键
重要程度: 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。