Jquery检测是否按下了键盘键

Jquery检测是否按下了键盘键,jquery,android,cordova,keyboard,Jquery,Android,Cordova,Keyboard,我正在使用PhoneGap制作一个纵横字谜应用程序,需要检测用户是否刚刚快速按下键盘或按下一个键以获得一个特殊字符。检测到这一点的事件是什么 编辑:当我按下按钮但不释放它时,在释放键之前会触发keyup。IPhone没有这个问题,SDK 8版本的模拟器也没有这个问题。HTC Desire S和其他可能的HTC手机可能具有此“功能”。在我看来像个bug。也许可以看看是否有不同的密钥代码通过 $('#input').live('keypress',function(e){ console.lo

我正在使用PhoneGap制作一个纵横字谜应用程序,需要检测用户是否刚刚快速按下键盘或按下一个键以获得一个特殊字符。检测到这一点的事件是什么


编辑:当我按下按钮但不释放它时,在释放键之前会触发keyup。IPhone没有这个问题,SDK 8版本的模拟器也没有这个问题。HTC Desire S和其他可能的HTC手机可能具有此“功能”。在我看来像个bug。

也许可以看看是否有不同的密钥代码通过

$('#input').live('keypress',function(e){
   console.log('keypress: '+e.keyCode);
});

如果您想随时知道按下了哪些键,请尝试以下操作:

var keys = array();
$(windows).keydown(function(e){
    keys[e.which] = true;
}
$(windows).keyup(function(e){
    keys[e.which] = false;
}

如果您只想在用户按键一段时间后触发某个操作,只需设置一个超时,如果在所需时间之前触发了keyup,则可以取消该超时。

这是一个古老的问题,但对于遇到此答案的任何其他人,您最好使用
var keys=[]而不是
var keys=Array()
array()
甚至不起作用)。更好的方法是
var-keys={},因为向具有无序索引的数组中添加元素通常是一个非常糟糕的主意。