在将文本发送给第三方进行操作之前,我需要使用 JavaScript 验证输入到 textbox
中的文本。
为此,我使用 browserEvent.keyCode
参数获取在按键事件中发送到浏览器的 keycode
,然后验证代码以在 textbox
中说明是否允许。
除 HTC One X 上的 Chrome 之外,这在我测试过的所有设备上都运行良好。
我发现各种 Android 和 iOS 设备之间存在恼人的差异,但它们都会返回一些我可以使用的东西。然而,HTC One X 每次按下按键都会返回 0
,Backspace 和 Enter 键除外,后者会返回 8
和 13
分别。
我已经尝试了 event.keyCode
、event.charCode
和 event.which
以及 browserEvent.keyCode
、browserEvent.charCode
和 browserEvent.which
代码,所有内容都返回为 0
。
基本上,我被困住了。有没有人知道
- 为什么
keycode
在此设备上总是返回为0
,以及 - 如何检测
键码
?
最佳答案
虽然它没有回答直接的问题,但我使用了 Lukas Knuth 给我的一些想法来解决它。
现在的过程是捕获 0 的键码并将其传递给一个函数,该函数通过一些正则表达式验证来运行输入框的内容。如果验证失败,则从输入框中删除最后一个字符。
如果有人来到这个问题寻求 HTC One X 通过 0 作为键码的解决方案,我深表歉意,经过几天的研究和实验,我找不到解决方案,所以我解决了这个问题相反。
关于javascript - HTC One X KeyCode 始终返回零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205412/