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

Posted

技术标签:

【中文标题】来自蓝牙键盘的 IOS7 上 Safari 中的 onkeyup 事件【英文标题】:onkeyup event in Safari on IOS7 from a bluetooth keyboard 【发布时间】:2013-09-29 21:01:45 【问题描述】:

我有以下设置:

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

用法:

用户关注文本字段并使用蓝牙扫描仪扫描条形码 扫描程序在扫描结束时添加 ENTER (13)

问题:

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

window.onkeyup = function (e) 
    console.log(e.KeyboardEvent)

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

keyCode: 0
keyIdentifier: "Unidentified"

...无论我按哪个键。

蓝牙扫描仪和蓝牙键盘的结果展位相同。

谢谢/E

【问题讨论】:

如果有人偶然发现:4 年后仍然有这个问题***.com/questions/45924702/… 【参考方案1】:

似乎“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);
                    
                ;
            
        
    

【讨论】:

【参考方案2】:

我遇到了类似的问题@EmilPennlov。我能够通过在输入字段上使用 $watch 来解决这个问题。像魅力一样工作。

【讨论】:

以上是关于来自蓝牙键盘的 IOS7 上 Safari 中的 onkeyup 事件的主要内容,如果未能解决你的问题,请参考以下文章

在iOS7中具有固定页眉和页脚的网页上的滚动问题

iOS8 和 Safari 不再使用蓝牙扫描仪

使用键盘html时ios7问题与webview焦点有关

清除内容可编辑的div时键盘在Safari iOS 6中停止工作

收听原始蓝牙键盘数据

Unity可以从iOS上的蓝牙键盘读取输入吗?