Javascript 可以读取更多按下的键吗?

Javascript 可以读取更多按下的键吗?,javascript,browser,Javascript,Browser,我很好奇,是否可以在浏览器中编写一些游戏,如《凡人快拍》 我看到的唯一问题是读取三个以上的按键。我试过了,但三个键挤在一起似乎是极限:更多的键被忽略 var keytrap = document.getElementById("keytrap"); var keys = {}; keytrap.focus(); function info() { var nfo = document.getElementById("info"); nfo.innerHTML = "";

我很好奇,是否可以在浏览器中编写一些游戏,如《凡人快拍》

我看到的唯一问题是读取三个以上的按键。我试过了,但三个键挤在一起似乎是极限:更多的键被忽略

var keytrap = document.getElementById("keytrap");
var keys = {};
keytrap.focus();

function info() {
    var nfo = document.getElementById("info");
    nfo.innerHTML = "";
    for(var i in keys) if(keys[i]) nfo.innerHTML+= i;
}

keytrap.onkeydown = function(e) { keys[e.keyCode] = true; info(); }
keytrap.onkeyup = function(e) { keys[e.keyCode] = false; info(); }


我想同时读至少六个键。有什么解决办法吗?

这个库:也许是解决办法,我没有试过用旧键盘!但是有特殊的组合和特殊的“计数”组合功能

正如@frozenkoi评论的那样,这纯粹是硬件问题。如果有人遇到同样的问题,请参阅@Qantas94Heavy对我的问题的评论,查看优秀键盘的列表。

你的方法看起来不错-它在Chrome、Firefox和IE9中为我检测到三个以上的按键。你可能会受到游戏运行硬件的限制。有些键盘本身不会报告超过一定数量的键。@Adam你当时用了什么硬件?@frozenkoi:我可以证实。如果你的键盘不好,所有游戏都会发生这种情况。下面是关于Arquade的一个问题,其中包括: