我正在处理 keyup 事件,并且需要获取正在输入的字符。当我输入一个点时,data.keyCode 是 190,但是当我尝试使用 String.fromCharCode(190) 转换它时,我得到了“¾”符号。
问问题
4215 次
1 回答
5
我正在处理 keyup 事件,并且需要获取正在输入的字符。
这是不可靠的。在keyup
你只得到keyCode
而不是charCode
。
(如果您考虑一下,这是有道理的: thecharCode
与在按键中键入的字符相关联,它可能会使用修饰键移动,因此会生成与基本键不同的字符; on keyup
and keydown
,因为这些事件不会立即发生与正在键入的新字符相关联,没有要生成的已知字符。)
因此,如果您所做的事情依赖于知道是否输入了.
字符,则需要使用keypress
事件来代替。
如果您想知道在某些常见键盘布局上标记为/的抽象键何时发布,您可以使用unixpapa 链接上列出的 来做到这一点。像这样使用通常用于游戏和其他功能,其中实际关键位置很重要,而不是在键入时生成的字符。.
>
keyup
keyCode
keyCode
不幸的是,浏览器对包括这个在内的一些 keyCodes 造成了不一致的混乱,因此您必须检查上面列出的所有可能值,并且您无法可靠地区分主键盘周期、小键盘周期/删除之间的区别键和主删除键。
于 2011-10-02T12:51:22.240 回答