javascript - 从 keyup 事件中获取字符

标签 javascript onkeyup

我正在处理 keyup 事件,需要获取正在键入的字符。当我键入一个点时,data.keyCode 为 190,但当我尝试使用 String.fromCharCode(190) 对其进行转换时,我得到的是“¾”符号。

This reference告诉我 190 是周期符号。 That one说我没有任何跨浏览器按键处理的机会。那么,我该如何正确处理呢?

最佳答案

I'm handling the keyup event, and need to get the character being typed.

这并不可靠。在 keyup 上,您只能获得 keyCode 而不是 charCode

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

因此,如果您正在做一些依赖于知道是否输入了 . character 的事情,您将需要使用 keypress 事件.

如果你想知道在一些常见的键盘布局上标记为./>的抽象什么时候被释放,你可以这样做keyup,使用 unixpapa 链接上列出的 keyCode。像这样使用 keyCode 通常用于实际按键位置很重要的游戏和其他功能,而不是它在键入时生成的字符。

不幸的是,浏览器弄乱了一些键码,包括这个,所以你必须检查上面列出的所有可能的值,而且你不能可靠地分辨主键盘周期和小键盘之间的区别句号/删除键和主删除键。

关于javascript - 从 keyup 事件中获取字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7626328/

相关文章:

javascript - 从/r/listenToThis 解析歌曲标题以获取 IFTTT 小程序

javascript - 拖放时出现 R Shiny 输入 react 性错误

javascript - 为什么此代码适用于输入文本框,但不适用于 contenteditable div?

jquery - 当 jQuery 中的事件触发一段时间后,我如何执行 jQuery 函数?

javascript - JavaScript 中的基本流程控制

javascript - 将 PHP 解析的 JSON 数据从 MySQL 提供给 Morris.js Chart

javascript - 当用户停止或暂停输入时,仅在 onkeyup 下调用一次方法

javascript - 如何防止光标/插入符号在输入文本元素内移动?

javascript - Safari JS 语法错误 : Unexpected token '='

javascript - 如何计算字符串长度,如果长度等于X,则执行代码? - JavaScript