OnKeyDown和String.FromCharCode

LB4*_*B40 4 javascript javascript-events

我有一个关于OnKeyDown事件的问题.OnKeyDown事件提供了一个KeyCode,但我不确切知道给出了什么样的代码.基本上,我使用String.FromCharCode方法从我认为的ASCII代码中获取真实字符.它工作正常,直到我尝试使用来自小键盘的数字.如果我使用'w'上方的键输入'2'即可,但是使用来自小键盘的'2',KeyCode给出的是98(这是'b'Ascii代码).

我正在看这个页面并且存在同样的问题.该示例应该阻止用户键入数字.它与第一个字符顶部的数字完美匹配(缺少更好的名称),但您可以使用数字键盘键入数字.

你知道问题是什么吗?(这真的是ascii代码吗?我使用了错误的事件吗?)...

谢谢...

Sha*_*ard 7

为防止数字使用onkeypress:

onkeypress="return PreventDigits(event);"
...
function PreventDigits(evt) {
    evt = evt || window.event;
    var keyCode = evt.keyCode || evt.which;7
    var num = parseInt(String.fromCharCode(keyCode), 10);
    return isNaN(num);
}
Run Code Online (Sandbox Code Playgroud)

实例:http://jsfiddle.net/yahavbr/vwc7a/