2012-07-10 8 views
8

Ho la seguente configurazione:Ascolta pressione del tasto in HTML/JavaScript su iOS/Safari con Bluetooth scanner/tastiera senza dover mettere a fuoco un campo

  • iPad con il browser Safari esecuzione di un Webb-applicazione.
  • scanner di codici a barre Bluetooth collegato/accoppiato con l'iPad.

mia web-application ascolta KeyPress eventi a livello globale, che mi dà la possibilità di attivare funzioni di scansione, senza dover all'utente di mettere a fuoco un campo di testo nella Webb-applicazione.

Quanto sopra funziona correttamente quando si esegue l'applicazione su un desktop con uno scanner USB.

Il mio problema è che l'applicazione non attiva eventi keydown (premere/su) finché un campo di testo non è focalizzato sull'iPad quando è collegato lo scanner Bluetooth.

È possibile raggiungere?

Una questione collegata da qualche tempo fa: How can I add a Javascript listener to capture input from bluetooth barcode scanner to iPad?

Grazie/E

+0

potresti provare questo ... aggiungere l'autofocus a un campo di testo. e poi ascolta la pressione di un tasto in questo campo? – Amit

+0

Grazie Amit, ma speravo di evitarlo. – EmilPennlov

+1

L'autofocus non funziona su iPad. Questo non è un bug, è di progettazione. –

risposta

3

Credo che con Safari Mobile (e la maggior parte degli altri browser mobili iOS), pressione dei tasti sono rilevabili solo dal web app, quando un l'input di forma è infocus. Il tuo dispositivo (senza una tastiera esterna) non può ricevere l'input da tastiera senza che venga selezionato un input di modulo semplicemente perché la tastiera non è attiva.