上、下、左、右箭头键的键码始终相同吗?

10 浏览
0 Comments

上、下、左、右箭头键的键码始终相同吗?

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

  • 左: 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))
                //执行向上操作
            else if (Key.isDown(Key.DOWN)) {
                //执行向下操作
            }
            delete this._pressed[event.keyCode];
        }
    };

0