我需要一个脚本来检测所有浏览器上的所有长按或连续按

|| 我有一个脚本,可以检测歌剧中的长按键,但不能检测出Firefox和Mozilla浏览器中的键。为什么会这样? 我使用此代码:
autoComplete.prototype.keyDown=function(oEvent)
 {
    oEvent=window.event || oEvent;
    iKeyCode=oEvent.keyCode;

    switch(iKeyCode)
    {
       case 38: //up arrow
          this.autoComplete.moveUp();
          break;
       case 40: //down arrow
          this.autoComplete.moveDown();
          break;
       case 13: //return key
          window.focus();
          break;
       case 27: //escape key
          this.autoComplete.oDiv.style.display=\"none\";
          break;
    }
 };
这会检测我在Opera中的长按键,但在mozilla中却无法检测到。请建议我一个解决方案,以使我的长按在所有浏览器中都能正常使用。 编辑:从长按中,我的意思是连续按键在这里。例如连续向下按键。     
已邀请:
对于交叉浏览,请使用keyCode和
var ikeyCode = oEvent.keyCode || oEvent.which ;
现在您可以在所有浏览器中检测到     
我想尝试的是观看keydown的keyup事件,而不是按键。 发生击键时,将时间写入变量,然后使用setTimeout启动计时器。如果键入可能在0.3秒内发生(因此将存储的时间与该事件触发时的当前时间进行比较),则可以将其视为轻按,然后调用所需的任何函数并清除setTimeout。 如果您的计时器像您的示例中一样达到了3秒,则在触发按键之前,用户按住了该按钮,因此显示了警报。 希望有道理。我还没有尝试过,但是听起来很不错。大声笑     
我得到了解决方案... 我在用
oText.onkeydown=this.keyDown;
 我应该用
oText.onkeypress=this.keyDown;
的地方 感谢你的帮助!     

要回复问题请先登录注册