如何将字符映射到 IE/Mozilla 按键代码以与 Javascript keyup 事件一起使用?

发布于 2024-12-29 15:52:40 字数 199 浏览 0 评论 0原文

我正在尝试获取 Javascript 中任意字符的 Mozilla/IE 键码。理想情况下,我会使用 charCodeAt() 检索给定字符的键码,但这会产生 ASCII 值,该值对于 keyup 侦听器来说是无用的。

例如:']'.charCodeAt() 返回 93,但 event.keyCode 和 event.which = 221

I'm trying to get the Mozilla/IE keycode for a arbitrary character in Javascript. Ideally, I'd use charCodeAt() to retrieve the keycode for a given character, but this yields the ASCII value which is useless for the keyup listener.

For example: ']'.charCodeAt() returns 93, but event.keyCode and event.which = 221

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花期渐远 2025-01-05 15:52:40

键代码和这些键产生的字符之间的映射取决于键盘布局,而键盘布局在世界范围内差异很大。此外,通常有许多不同的击键组合可以产生相同的字符。在这种情况下,没有可靠的方法将键代码映射到字符,反之亦然。

底线:如果您需要检测特定的键入字符,则只有 keypress 事件可以。如果你想检测物理击键,只有 keyupkeydown 可以。

The mapping between key codes and the characters produced by those keys is dependent on keyboard layout, which varies significantly worldwide. Also, there are often many different combinations of keystrokes that can produce the same character. That being the case, there is no dependable way of mapping key codes to characters and vice versa.

Bottom line: if you need to detect a particular typed character, only the keypress event will do. If you want to detect physical keystrokes, only keyup and keydown will do.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文