Possible Duplicate:
Javascript KeyCode vs CharCode = Utter Confusion
String.charCodeAt(index)
的返回值有什么区别和 JavaScript 关键代码?有没有办法在两者之间进行转换?
例如:
console.log('.'.charCodeAt(0)); // prints 46 on Mac/Chrome
但是“.”的键码是 190。
最佳答案
string.charCodeAt(index) 旨在返回指定位置处字符串字符的 ascii 值。
keyCode 是按下的键盘按键值的浏览器实现。不幸的是,它也没有在所有浏览器上标准化。
编辑:
String.fromCharCode(unicodeValue);
这会将 unicode 值(例如 keyCode)转换为 ascii 值。请注意,并非所有 keyCode 值都会转换为适当的 ascii 值(因为没有一个),例如 {delete、up、down、left、right、home、insert、page up、page down } 等按键
示例:按Delete键会返回keyCode 46,如果执行alert(String.fromCharCode(46));
,您将看到它输出一个句点,因为46是ascii值一个时期。
关于Javascript String.charCodeAt(index) 和 keyCodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14508733/