这是 Safari 中潜在错误的症状(仅限 iOS 8)。我在 HID 模式下使用蓝牙条码扫描器时第一次遇到这个问题。使用 Notes 应用程序,我可以非常快速地扫描,不会跳过/截断字符。在 Safari 中,在最简单的 Web 表单中,具有单个输入文本字段或文本区域,字符跳过/截断是间歇性的。这并非特定于条形码扫描仪。您可以使用任何蓝牙键盘重现相同的问题,前提是您可以足够快但准确地键入,以便您知道它正在跳过/截断。如果有人认为我忽略了什么,请插话!
我的发现:
我刚刚在 iPad Air 上安装了 iOS 8.2 测试版,但问题仍然存在。
这只发生在 HID 模式下配对的蓝牙键盘上。
我在扫描时跟踪了键盘事件,这就是我发现的。 textinput 事件会针对前几个字符触发,但不会针对其余字符触发。所以我试着扫描这个文本:LOT00002。但是“T”和“2”被省略了,因为在按键事件之后没有触发 TEXTINPUT 事件。 看到粗线...
keydown keyCode=76 (L) which=76 (L) charCode=0
keypress keyCode=76 (L) which=76 (L) charCode=76 (L)
textInput 数据=L
keyup keyCode=0 which=0 charCode=0
keydown keyCode=79 (O) which=79 (O) charCode=0
keypress keyCode=79 (O) which=79 (O) charCode=79 (O)
keyup keyCode=0 which=0 charCode=0
textInput 数据=O
keydown keyCode=84 (T) which=84 (T) charCode=0
keypress keyCode=84 (T) which=84 (T) charCode=84 (T)
keyup keyCode=0 which=0 charCode=0
[MISSING textInput 事件]
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
textInput 数据=0
keyup keyCode=0 which=0 charCode=0
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
keyup keyCode=0 which=0 charCode=0
textInput 数据=0
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
textInput 数据=0
keyup keyCode=0 which=0 charCode=0
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
textInput 数据=0
keyup keyCode=0 which=0 charCode=0
keydown keyCode=50 (2) which=50 (2) charCode=0
keypress keyCode=50 (2) which=50 (2) charCode=50 (2)
keyup keyCode=0 which=0 charCode=0
[MISSING textInput 事件]
keydown keyCode=13 which=13 charCode=0
keypress keyCode=13 which=13 charCode=13
keyup keyCode=0 which=0 charCode=0