2017-07-27 26 views
2

我正在使用JavaScript(在macbook pro OSX 10.11.x上,不确定这是否重要)使用Chrome浏览器。 进出口使用的功能:javascript keycode for 65或97?

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

当我按下键盘上的“A”键,它会记录为97,但是这不符合任何其他键代码列表我在互联网上找到,其中规定“A”为65

这是其他按键一样好,例如,“S”对我来说是115,但其他人指出,“S”是83

是否有我”的依赖失踪了?如果我假设一个== 95的事件发生,它会在其他浏览器上工作吗?

谢谢。

+4

的 “按键” 事件不会给你*键码*,它给你*字符代码*。 – Pointy

+0

字符(字符)代码http://www.asciitable.com/ –

+1

a = 97和A = 65 – PRMoureu

回答

5

大写字母与小写字母不一样p导致不同的代码。

此外,keypress事件与keyup或​​事件的作用不同。 keypress对可打印字符做出响应,并给出生成的字符的代码。使用keyup和​​,代码表示按下的键盘上的物理硬件键。例如,如果您运行下面的代码段并按下SHIFT键,则根本不会看到keypress事件日志消息,因为该事件不会为该密钥触发。

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.

+0

这不直接回答OP的问题,但+1关于价值差异的注意事项返回取决于事件 –

+0

@CrayonViolent我正在编辑,然后不得不打电话。答案已更新。 –

相关问题