获取开放花括号的Charcode

时间:2014-09-10 05:50:07

标签: javascript

我需要获得开头花括号的char代码值。

我使用"{".charCodeAt(0)但它返回123,

但是,当我从键盘事件中获取值时,该值为219.哪一个是正确的?
请告诉我如何获得大括号的正确值

1 个答案:

答案 0 :(得分:1)

根据wikipedia,{是123(0x7B)的unicode值。

但是,Keyboard.event中的keyCode属性是unicode值,请参阅KeyboardEvent documentation on MDN。人们陷入了将其用作角色值的陷阱,因为没有移位修饰符,很多值实际上是相同的。

KeyboardEvent.keyCode

  

识别系统和实现的数字代码   按下的键的未修改值。只读。见文件   KeyboardEvent.keyCode用于细节。

你需要掌握实际角色。关于这个问题有很多问题like this one

一种方法是使用String.fromCharCode(e.which),它适用于大多数浏览器,但仅适用于源自keypress,而不是keydown或keyup处理程序的KeyboardEvents。

keydown和keypress之间的区别

document.body.addEventListener("keydown", function(e) {console.log(e.keyCode)}, false);

 219

尽管

document.body.addEventListener("keypress", function(e) {console.log(e.keyCode)}, false);

123