问题
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
回答1:
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);
}
};
}
}
}
}
回答2:
I faced a similar problem @EmilPennlov. I was able to solve this by using a $watch on the input field. Worked like a charm.
来源:https://stackoverflow.com/questions/18985117/onkeyup-event-in-safari-on-ios7-from-a-bluetooth-keyboard