San*_*osh 7 javascript events javascript-events
我正在使用keydown事件
我在哪里获得密码并将其转换为charcode.
但我遇到了一个问题,在键盘按下2它给出50和charcode为2
当我按下2numpad它会给出98keycode,所以当我转换charcode时a
CMS*_*CMS 12
这种情况正在发生,因为你正在使用该keyCode成员,例如,小写'a'和大写'A'具有相同的keyCode,因为是相同的键,但是不同的charCode,因为结果字符是不同的.
要获取charCode,您应该使用该keypress事件,并获取该event.charCode成员(如果可用),否则,您将获得event.keyCodeIE中的哪个,在keypress事件上具有正确的信息.
看一下以下示例:
document.onkeypress = function (e) {
e = e || window.event;
var charCode = e.charCode || e.keyCode,
character = String.fromCharCode(charCode);
alert(character);
};
Run Code Online (Sandbox Code Playgroud)
您将在尝试此keypress操作时获得字符代码: http://www.w3.org/2002/09/tests/keys.html
他们使用以下代码转换为字符:
var charCode = (evt.charCode) ? evt.charCode : evt.keyCode;
Run Code Online (Sandbox Code Playgroud)
这也可能有助于作为键码参考