所以我正在做一个捕获按键的脚本。这并不容易,因为似乎没有浏览器真正关注the specification of keyboard events。
在firefox中,我可以在keyCode
属性中查看键代码(确定特定的物理按钮),而在.charCode
中查看代码(代表键的字母)。这不是
当我尝试在谷歌浏览器中进行测试时,我发现了不同的行为。 Google Chrome会将所有keyCode
,charCode
和which
设置为字母值(如果存在)。但是keyIdentifier
属性中有一个常量值。 W3对此类财产一无所知,但我真的很乐意使用它。
如何转换keyIdentifier
值( A 它U+0041
),使其与Firefox中出现的keyCode
值保持一致(适用于 A 它的65
)?
答案 0 :(得分:3)
实际代码是:
//Google chrome retardedness
if(event.keyIdentifier) {
keyCode = parseInt(event.keyIdentifier.substr(2), 16);
}
//not that the other browsers are any closer to something systematic and logical
else {
keyCode = event.keyCode;
}
答案 1 :(得分:0)
我还没有使用适用于Firefox或Chrome的键盘事件,但是从您发布的示例中,Chrome这样的接缝会为您提供字母“A'”的Unicode表示形式。 (其中数字部分是十六进制),而Firefox在基数10(十进制)中给出相同的数字。因此,使它们彼此一致应该就像将Firefox编号转换为十六进制一样简单,这样您就可以在两种浏览器中使用Unicode表示。