【发布时间】:2015-03-02 23:32:48
【问题描述】:
我正在编写一个脚本,要求用户同时按下多个键。我使用 onkeydown 和 onkeyup 事件侦听器跟踪哪些被按下。但是,某些键组合不兼容,通常会导致哔声,并且不会触发事件侦听器。有没有办法检测键盘错误?
这是我的一些代码。例如,如果用户在没有松开的情况下按下以下顺序,计算机将发出错误哔声:T,R,O。不过,“O”不会触发 keyDonwFn。
在 html 代码中,我有 onkeydown="keyDownFn(event);"
function keyDownFn(e) {
if ( isCorrectKey( e.keyCode ) ){
do A
}else if (e.keyCode != currentKey){
do B
}else if (e.keyCode == currentKey){
do C
}
}
如果出现错误,我想再换一个:
else if (e.keyCode == error){
do D
}
【问题讨论】:
-
请编辑您的问题以包含您的代码的相关 sn-p 和导致问题的输入示例。
-
真的不太可能没有触发事件监听器。你应该假设它是你的代码,除非你能证明不是这样。向我们展示什么不起作用
-
正如duskwuff 所讨论的,大多数键盘不支持n 键翻转。我只是想检测何时达到键盘限制。我进行了编辑以提供一个不兼容的 3 字母组合示例。
标签: javascript keyboard-events event-listener beep