我正在使用keydown事件
我在哪里获取 key 代码并将其转换为字符代码。
但是我有一个问题,在键盘上按2
,它给50
和charcode作为2
当我在numpad中按2
时,它会提供键码98
,因此当我转换charcode a
时
最佳答案
之所以发生这种情况,是因为您使用的是keyCode
成员,例如,小写字母'a'和大写字母'A'具有相同的keyCode,因为它们是相同的 key ,但是却具有不同的charCode,因为结果字符不同。
要获取charCode,您应该使用keypress
事件,并获取event.charCode
成员(如果有),否则,您将获取keypress事件上具有正确信息的IE的event.keyCode
。
看一下下面的example:
document.onkeypress = function (e) {
e = e || window.event;
var charCode = e.charCode || e.keyCode,
character = String.fromCharCode(charCode);
alert(character);
};
关于javascript - 按键事件的按键代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1648130/