这是Safari中的潜在bug症状(仅限iOS 8)。我第一次遇到这个问题是在使用蓝牙条形码扫描仪进行HID模式时。使用“笔记”应用程序,我可以快速扫描,没有跳过/截断任何字符。在Safari中,在最简单的Web表单中,有一个单个输入文本字段或文本区域,字符跳过/截断是间歇性的。这不是针对条形码扫描仪的特定情况。如果您可以快速而准确地输入,以便知道它是跳过/截断,那么您可以使用任何蓝牙键盘重现相同的问题。如果有人认为我忽视了什么,请发言!
我的发现:
我刚刚在我的iPad Air上安装了iOS 8.2 beta,问题仍然存在。
这仅适用于HID模式下配对的蓝牙键盘。
我在扫描时跟踪键盘事件,以下是我的发现。 textinput事件会在前几个字符后触发,但不会在其余字符后触发。因此,我尝试扫描此文本:LOT00002。但是“T”和“2”被省略了,因为TEXTINPUT事件在keypress事件之后没有触发。看粗体行...
keydown keyCode = 76(L)which = 76(L)charCode = 0
keypress keyCode=76 (L) which=76 (L) charCode=76 (L)
textInput data=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 data=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
[缺少 textInput 事件]
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
textInput data=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 data=0
keydown keyCode=48 (0) which=48 (0) charCode=0
keypress keyCode=48 (0) which=48 (0) charCode=48 (0)
textInput data=0
keyup keyCode=0 which=0 charCode=0
keydown keyCode=48 (0) which=48 (0) charCode=0
按键事件 keyCode=48 (0) which=48 (0) charCode=48 (0)
文本输入事件 data=0
键盘抬起事件 keyCode=0 which=0 charCode=0
按键按下事件 keyCode=50 (2) which=50 (2) charCode=0
按键事件 keyCode=50 (2) which=50 (2) charCode=50 (2)
键盘抬起事件 keyCode=0 which=0 charCode=0
[缺失的文本输入事件]
按键按下事件 keyCode=13 which=13 charCode=0
按键事件 keyCode=13 which=13 charCode=13
键盘抬起事件 keyCode=0 which=0 charCode=0