Javascript密钥代码=/= char代码

Fab*_*ers 6 jquery cross-platform cross-browser jquery-events

我使用jQuery绑定keydown事件以允许文本框中的某些特定字符.我正在尝试使我的代码跨浏览器和平台兼容.我的主要问题是我找不到将接收到的密钥代码映射到有效字符代码的方法,特别是对于来自数字键盘的密钥代码(小数分隔符,是昏迷还是句点等).

感谢Fabian先生的帮助

bob*_*nce 6

那是正确的.你不能做这样的映射; a keydown甚至可能与插入的字符不对应.或者Caps Lock可能会改变按键的含义,你无法嗅到它.和其他各种皱纹.

如果您想知道字符代码,您唯一的选择是使用该keypress事件.

  • Firefox的按键很好,只需使用通常的`event.which`来获取角色.然后为IE的charCode-in-keyCode行为添加回退.例如.`var c ='哪个'事件?event.which:event.keyCode;` (3认同)

Fab*_*ers 1

好吧,就像我在评论中所说的那样,这个问题背后的目标是根据数值过滤文本框。我设法使用按键事件实现了我的目标。

我已经为那些对该解决方案感兴趣的人发布了一个jQuery 插件。