Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
471 views
in Technique[技术] by (71.8m points)

onkeyup event in Safari on IOS7 from a bluetooth keyboard

I have the following setup:

  • Bluetooth scanner
  • iPad
  • Webpage with a textfield for scan input

Usage:

  • User focus textfield and scan barcode with bluetooth scanner
  • Scanner adds ENTER (13) at the end of the scan

Problem:

On Safari in IOS7 there seems to be a change on how keyboard events are handled on bluetooth devices. The code ...

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

... should return information about the key pressed. Instead i get ...

keyCode: 0
keyIdentifier: "Unidentified"

... no matter which key I press.

Same result booth form bluetooth scanner and bluetooth keyboard.

Thanks / E

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Seems that "onkeypress" works as expected though.

Since this was a problem a bumbed in to in a Sencha Touch project and Sencha Touch doesn't have a keypress event on textfields I'm posting the code that solved my problem.

{
    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);
                    }
                };
            }
        }
    }
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...