国际键盘上常用字符的键代码

Key code for common characters on international keyboards

本文关键字:代码 字符 常用 键盘      更新时间:2023-09-26

好的,从特殊符号捕获键代码会在具有不同布局的键盘上产生不同的结果。但是"常见"字符(如 a-z)怎么样?如果你有一个QWERTY键盘,当你键入q时,你会得到81的键代码。当你有一个AZERTY键盘时,当你按下a时,你会得到代码81,因为aq"应该"在的地方?还是映射方式不同?

编辑:

当您捕获键并希望确保"a"真的是"a"时,我接受的答案可能是最佳解决方案,但正如我在下面的评论中所解释的那样,我仍然很好奇键代码在使用 int'l 键盘时是如何"翻译"的。也就是说:消息来源表明至少 a-z 应该是一致的,但我找不到对此的支持(或实际尝试过的人)。

如果您使用 keypress 事件而不是 keyupkeydown,那么问题就会消失,因为在这种情况下,您获得的是字符代码而不是键代码。

例:

document.onkeypress = function(e) {
    e = e || window.event;
    var charCode = (typeof e.which == "undefined") ? e.keyCode : e.which;
    alert( String.fromCharCode(charCode) );
};

以下是JavaScript中密钥处理的权威资源: http://unixpapa.com/js/key.html