Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 国际键盘上常用字符的键代码_Javascript_Keyboard - Fatal编程技术网

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

Javascript 国际键盘上常用字符的键代码,javascript,keyboard,Javascript,Keyboard,好的,从特殊符号捕获键代码会在不同布局的键盘上产生不同的结果。但是像a-z这样的“普通”角色呢?如果你有一个QWERTY键盘,当你键入q时,你会得到键代码81。当你有AZERTY键盘时,当你按下a时,你是否会得到code81,因为a是q应该的位置?还是映射的方式有所不同 编辑: 我接受的答案可能是最好的解决方案,当你捕获键,并希望确保“a”真的是“a”,但正如我在下面的评论中所解释的,我仍然很好奇在使用国际键盘时如何“翻译”键代码。也就是说:有消息表明至少a-z应该是一致的,但我找不到支持这一点

好的,从特殊符号捕获键代码会在不同布局的键盘上产生不同的结果。但是像a-z这样的“普通”角色呢?如果你有一个QWERTY键盘,当你键入
q
时,你会得到键代码
81
。当你有AZERTY键盘时,当你按下
a
时,你是否会得到code
81
,因为
a
q
应该的位置?还是映射的方式有所不同

编辑:


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

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

例如:

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

下面是关于JavaScript中键处理的权威资源:

如果你有AZERTY键盘,那么为什么你不能试试它呢。此外,这是一个简单的例子,但我怀疑“普通”字母键可能会有更多的问题,这是我在俄语、斯瓦希里语、乌干达语等布局中想不到的。当然,希望不是。我已经发现,这绝对是一个明确的资源,我同意!实际上,我之所以问这个问题是因为那个文档,因为在3.3中它列出了关键代码,并且似乎显示了“公共”字符,比如a-z,返回ASCII代码。然而,它也指出代码是通过键盘驱动程序转换的。。。有点莫名其妙。我想您的解决方案效果最好,因为它忽略了键盘驱动程序、浏览器等的影响。