Javascript a 的键码:65 还是 97?

Javascript Keycode for a: 65 or 97?

我正在 javascript(在 macbook pro OSX 10.11.x 上工作,不确定这是否重要)使用 Chrome 浏览器。 我正在使用函数:

window.onkeypress = function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    console.log("keypressed = " + key);
}

当我按下键盘上的 'a' 键时,它记录为 97,但是这与我在互联网上找到的任何其他 keyCode 列表都不对应,后者表明 'a' 是 65。

其他键也一样,比如我的's'是115,别人都说's'是83。

我是否缺少依赖项?如果我假设 a == 95 触发一个事件,它可以在其他浏览器上运行吗?

谢谢。

于是我发现大写A确实是,65.

小写a是97

请看这张图表:

图表原位置:http://www.asciitable.com/

大写字母与小写字母不同,会产生不同的代码。

此外,keypress 事件与 keyupkeydown 事件的工作方式不同。 keypress 响应可打印字符并给出生成的字符代码。对于 keyupkeydown,代码表示键盘上按下的物理硬件键。例如,如果您 运行 下面的代码片段并按下 SHIFT 键,您将根本看不到 keypress 事件日志消息,因为该事件没有t fire for that key.

window.addEventListener("keyup", function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    console.log("key up = " + key, e.key);
});

window.addEventListener("keydown", function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    console.log("key down = " + key, e.key);
});

window.addEventListener("keypress", function(e) {
    var key = e.keyCode ? e.keyCode : e.which;
    console.log("key pressed = " + key, e.key);
});
Just click in this area to give it the focus, then press some keys.