Javascript String.charCodeAt(index) 和 keyCodes

标签 javascript

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/

相关文章:

javascript - 当键在数组中不同时过滤对象中的值

javascript - 如何在 json 对象中使用可变定义的键?

javascript - slideToggle 整个 div

javascript - React-Rails - 入门问题

javascript - 为 chrome 开发者工具添加功能

javascript - 使用 R 从 xml 节点提取 javascript 语法

javascript - Jquery AJAX promise 在 ajax 失败时总是中断

javascript - Strophe.muc 插件和主干不正确的回调绑定(bind)

javascript - 将 AngularJS 从 1.5.0 更新到 1.5.8

javascript - 如何在不破坏此 DIV 的悬停区域的情况下在 DIV 上放置一些文本?