从keyup事件中获取角色

时间:2011-10-02 12:33:21

标签: javascript onkeyup

我正在处理keyup事件,需要输入字符。当我输入一个点时,data.keyCode是190,但是当我尝试使用String.fromCharCode(190)转换它时,我得到了“¾”符号。

This reference告诉我190是句号。 That one说我没有任何机会进行跨浏览器按键处理。那么,我该如何妥善处理呢?

1 个答案:

答案 0 :(得分:5)

  

我正在处理keyup事件,需要输入字符。

那是不可靠的。在keyup,您只能获得keyCode而不是charCode

(如果您考虑一下这是有道理的:charCode与在按键中键入的字符相关联,可以使用修饰键移动该字符,从而为基本键生成不同的字符; keyupkeydown,因为这些事件不会立即与正在键入的新字符相关联,所以不会生成已知字符。)

因此,如果您正在做一些依赖于知道是否输入. 字符的内容,则需要使用keypress事件。

如果您想知道在某些常见键盘布局上标记为. / >的抽象何时发布,您可以使用{{1}执行此操作},使用unixpapa链接上列出的keyup。像这样使用keyCode通常用于游戏和其他功能,其中实际的键位置很重要,而不是键入时生成的字符。

不幸的是,浏览器对一些keyCodes造成了不一致的混乱,包括这个,所以你必须检查上面列出的所有可能的值,你不能可靠地区分主键盘周期,小键盘句点/删除键和主删除键。