首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript String.charCodeAt(索引)和keyCodes

Javascript String.charCodeAt(索引)和keyCodes
EN

Stack Overflow用户
提问于 2013-01-24 19:00:42
回答 2查看 7.5K关注 0票数 1

可能重复: Javascript KeyCode vs CharCode = Utter Confusion

String.charCodeAt(index)和JavaScript密钥码的返回值有什么不同?有没有办法在两者之间进行转换?

例如:

代码语言:javascript
复制
console.log('.'.charCodeAt(0));  // prints 46 on Mac/Chrome

但是keyCode代表“.”是190。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-24 19:04:52

String.charCodeAt(索引)设计为在指定位置返回字符串字符的ascii值。

keyCode是按下键盘键的值的浏览器实现。不幸的是,它也没有在所有浏览器上标准化。

编辑:

String.fromCharCode(unicodeValue);

这将将unicode值(如keyCode )转换为ascii值。请注意,并非所有的keyCode值都将转换为适当的ascii值(因为没有这样的值),例如{ delete、向上、向下、左、右、主页、插入、页面向上、页面向下}

例如:按Delete键返回46的keyCode,如果执行alert(String.fromCharCode(46));,您将看到它输出一个句点,因为46是句点的ascii值。

票数 2
EN

Stack Overflow用户

发布于 2013-01-24 19:27:16

与onkeydown和onkeyup不同,onkeypress事件实际上返回一个charCode属性,该属性可以使用String.fromCharCode转换为其字符表示形式。

代码语言:javascript
复制
input.onkeypress = function(e) {
     var char = String.fromCharCode(e.charCode);
}

还请查看此链接,以获得关于不同浏览器和平台上的keyCodes / charCodes的一些良好研究。

http://unixpapa.com/js/key.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14508733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档