IOS7上Safari中的onkeyup事件来自蓝牙键盘

Emi*_*lov 5 safari bluetooth onkeyup keyup ios7

我有以下设置:

  • 蓝牙扫描仪
  • iPad的
  • 带有用于扫描输入的文本字段的网页

用法:

  • 用户关注文本字段和扫描条形码与蓝牙扫描仪
  • 扫描仪在扫描结束时添加ENTER(13)

问题:

在IOS7的Safari上,蓝牙设备上的键盘事件处理方式似乎有所改变.代码 ...

window.onkeyup = function (e) {
    console.log(e.KeyboardEvent)
}
Run Code Online (Sandbox Code Playgroud)

...应该返回有关按下的键的信息.相反,我得到......

keyCode: 0
keyIdentifier: "Unidentified"
Run Code Online (Sandbox Code Playgroud)

......无论我按哪个键.

同样的结果展位形式蓝牙扫描仪和蓝牙键盘.

谢谢/ E.

Emi*_*lov 3

似乎“onkeypress”按预期工作。

由于这是 Sencha Touch 项目中遇到的一个问题,并且 Sencha Touch 在文本字段上没有按键事件,因此我发布了解决我的问题的代码。

{
    xtype:'searchfield',
    name:'search',
    placeHolder:'search',
    listeners: {
        painted: {
            fn: function () {
                var me = this;
                me.element.dom.onkeypress = function (e) {
                    if (e.keyCode === 13) {
                        me.fireEvent('searchkeypress', me, e);
                    }
                };
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)