我有一个脚本可以检测歌剧中的长按键,但不能检测出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 ;


现在您可以在所有浏览器中检测到

09-10 19:23