是向上,向下,向左,向右箭头键码始终相同吗?

时间:2013-12-31 21:22:12

标签: javascript

正如标题所示,在我的代码中,我使用以下代码:

  • 左: 37
  • 上: 38
  • 右: 39
  • 向下: 40

检查这些关键代码以确定我的行动。我的问题是,那些总是保持不变吗?如果我使用的是DVORAK键盘或非英语键盘,这些键码是否会保持不变?

沿着同一条线,是否有一种检测这些击键的首选方法?

目前,我这样做:

    var Key = {
        _pressed: {},
        LEFT: 37,
        UP: 38,
        RIGHT: 39,
        DOWN: 40,

        isDown: function (keyCode) {
            return this._pressed[keyCode];
        },

        onKeydown: function (event) {
            this._pressed[event.keyCode] = true;

            if (Key.isDown(Key.UP))
                //do up action
            else if (Key.isDown(Key.DOWN)) {
                //do down action
            }
            delete this._pressed[event.keyCode];
        }
    };

1 个答案:

答案 0 :(得分:22)

是的,无论键盘布局如何,箭头键键码始终相同。

我经常使用不同的键盘布局(Dvorak,俄语,乌克兰语,希伯来语,西班牙语),我在JavaScript中尝试了所有键盘布局,并为箭头键提供了一致的结果。