我有一个关于JavaScript的初学者问题:在一个小的测试脚本中,我观察到一些关键事件似乎在其他人已被触发时不会触发。换句话说:如果某些键已关闭,则大多数其他keydown事件都会被阻止。例如,按住键a,s,d,f,g不会触发g的keydown事件。但是,如果我持有,例如h和j也是如此,他们的keydown事件是按预期触发的。
对于此测试,我在Windows 7 Home Edition 64-Bit上使用了Mozilla Firefox 26.0。
这是包含的JavaScript文件,用于将keydown-type的键事件映射输出到id为"testout001"
的某个div元素:
var keyMap = [];
function keyMapToHTML(arr){
var i = 0;
var temp = "";
while(i<arr.length){
if(arr[i]){
temp += i + "<br>";
}
i++;
}
return temp;
}
function keyHandler(e){
e = e || event; // deal with IE
keyMap[e.keyCode] = (e.type == 'keydown');
document.getElementById("testout001").innerHTML = keyMapToHTML(keyMap);
}
提前感谢您的建议!
答案 0 :(得分:1)
这是大多数键盘的常见硬件问题。某些按键无法同时被检测到。