2013-09-24 8 views
5

Mam następującą konfigurację:onkeyup wydarzenie w Safari na IOS7 z Bluetooth klawiatura

  • skanera Bluetooth
  • iPad
  • strony internetowej z pola tekstowego dla wejścia skanowania

Zastosowanie:

  • Pole tekstowe użytkownika i skanowanie kodów kreskowych za pomocą blu Skaner etooth
  • Skaner dodaje ENTER (13) na koniec skanowania

Problem:

na safari w IOS7 wydaje się, że zmiana w jaki sposób wydarzenia klawiszowe są obsługiwane na urządzeniach Bluetooth. Kod ...

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

... powinien wrócić informacje wciśniętego klawisza. Zamiast tego dostaję ...

keyCode: 0 
keyIdentifier: "Unidentified" 

... bez względu na to, który klawisz naciskam.

Ten sam wynik booth formie bluetooth skanera i klawiatury bluetooth.

Dzięki/E

+0

jeśli ktoś się o to potknął: nadal ma ten problem 4 lata później https://stackoverflow.com/questions/45924702/ipad-bluetooth-keyboard-returns-keycode-of-0-for-any-key-with- onkeyup –

Odpowiedz

3

Wydaje się, że "onkeypress" działa zgodnie z oczekiwaniami, choć.

Ponieważ był to problem, do którego doszło w projekcie Sencha Touch, a Sencha Touch nie ma zdarzenia naciśnięcia klawisza w polach tekstowych, publikuję kod, który rozwiązał mój 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); 
        } 
       }; 
      } 
     } 
    } 
} 
0

Napotkałem podobny problem: @EmilPennlov. Byłem w stanie rozwiązać ten problem, używając $ watch na polu wejściowym. Pracował jak urok.

Powiązane problemy