5

可能重复:
JavaScript event.keyCode 常量

这是我的代码:

$button.on('keyup', function (event) {
    // Detect an Enter keypress
    if(event.keyCode === 13) {
        doStuff();
    }
});

如您所见,键码13是硬编码的。是否有一种(跨浏览器)方法可以以更具语义意义的方式提取该数字?

4

2 回答 2

9

如果你使用jQueryUI,你可以使用$.ui.keyCode常量:

keyCode: {
    BACKSPACE: 8,
    COMMA: 188,
    DELETE: 46,
    DOWN: 40,
    END: 35,
    ENTER: 13,
    ESCAPE: 27,
    HOME: 36,
    LEFT: 37,
    NUMPAD_ADD: 107,
    NUMPAD_DECIMAL: 110,
    NUMPAD_DIVIDE: 111,
    NUMPAD_ENTER: 108,
    NUMPAD_MULTIPLY: 106,
    NUMPAD_SUBTRACT: 109,
    PAGE_DOWN: 34,
    PAGE_UP: 33,
    PERIOD: 190,
    RIGHT: 39,
    SPACE: 32,
    TAB: 9,
    UP: 38
}

因此,为了检查Enter按下使用:

if (event.keyCode === $.ui.keyCode.ENTER) { ... }
于 2013-01-11T11:30:26.610 回答
2

重复Alex K.的答案(我用过):

"\r".charCodeAt(0)
于 2013-01-11T11:55:08.390 回答