我正在使用下面的代码来跟踪关键事件

oEvent=window.event || oEvent;
    iKeyCode=oEvent.keyCode || oEvent.which;alert(iKeyCode);

它会在Firefox中给我警报,但在IE和chrome中不会。它给了我所有其他的键盘字符,但没有给我esc键和箭头键。

如何使用javascript在chrome和IE中检测esc键和箭头键?

最佳答案

您实际上并不需要JQuery,尽管它确实使您的代码更短。

您将必须使用keyDown事件,keyPress在IE的旧版本中无法使用箭头键。

您可以在此处使用完整的教程,请参见页面底部附近的箭头键示例:
http://www.cryer.co.uk/resources/javascript/script20_respond_to_keypress.htm

这是我使用的一些代码,由于我不得不使用缓冲来处理重复的按键操作,因此有点简化了:

document.onkeydown = function(event) {
     if (!event)
          event = window.event;
     var code = event.keyCode;
     if (event.charCode && code == 0)
          code = event.charCode;
     switch(code) {
          case 37:
              // Key left.
              break;
          case 38:
              // Key up.
              break;
          case 39:
              // Key right.
              break;
          case 40:
              // Key down.
              break;
     }
     event.preventDefault();
};

关于javascript - 如何在Chrome和IE中跟踪箭头键?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6226859/

10-12 06:46