keycode ist immer null in Chrome für Android
Muss ich erkennen, den Schlüsselcode für eine benutzerdefinierte Suche-box auf meiner website, aber der Schlüsselcode wird immer als null auf Chrome für Android (außer backspace, das gibt 8). Hat sonst noch jemand das erlebt, und wie haben Sie es umgehen? Unsere website funktioniert auf allen mobilen Browsern außer Chrome für Android, weil wir nicht erkennen können einen nicht-null-keycode oder charcode.
Ich bin mit Chrome 27.0.1453.90 auf Android 4.1.2 Jelly Bean. Das problem dupliziert werden können, mit etwas so einfaches wie:
alert(event.keyCode);
InformationsquelleAutor der Frage barrrrrrrrrooo | 2013-06-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
unterhalb Lösung auch für mich arbeiten. könnte nützlich sein, für andere auch.
InformationsquelleAutor der Antwort coder
Stießen wir auf dieses problem vor kurzem auf einem China-Android-Handy Meizu MX3, die einen tief in das Betriebssystem angepasst, basierend auf Android 4.4.4.
Den Standard browswer und Chrome funktionieren, aber für einige seltsame Gründe, warum wir nicht wissen, Veranstaltung.keyCodeVeranstaltung.charCode und Veranstaltung.die 0 zurück, die ganze Zeit in einige andere Browser(wie CM Browser oder webview von Hause Tencent app).
Wir haben dieses Problem gelöst, indem der Letzte Charakter, den Sie Eingaben wie 'A' oder ' '(Leerzeichen), dann konvertieren wir es in den ascii-code mit charCodeAt wie "Ein".charCodeAt(0) die Renditen 97, das ist der eigentliche char-code, die wir brauchen.
Aber wir können nur bestimmen, die char-code des sichtbaren chars mit dieser Strategie, die auf unseren derzeitigen brauchen, Gott sei Dank.
Hoffe, Sie Jungs können ein paar Inspirationen aus dieser.
InformationsquelleAutor der Antwort Johnny Zhao
Ich habe vor dem gleichen Problem mit Android-Geräten von SonyXperia und HTC. Ich habe die Entwicklung von hybrid-Anwendung, wo ich bin Validierung Höhe Textfeld Lesen
event.keyCode()
der eingegebenen char aufkeydown
Falle von text-Feld, so dass ich zulassen kann, nur zahlen und Punkt(.) char eingegeben werden. Ich habe versucht, aber es hat nicht funktioniert, Rückgabe immer 0, die in diesen Geräten.Später kam ich mit der anderen Lösung mit
keyup
event-und char-matching über Reguläre Ausdrücke:Hoffe, dies kann helfen, für die Menschen, die vor diesem Problem. Viel Glück.
InformationsquelleAutor der Antwort Raghu
Stand ich vor diesem Problem und dieser ist, wie ich herausgefunden habe, wie das problem zu lösen.
Sie sehen die logs von Ihrem browser auf Ihrem desktop-Rechner.
Und dies ist, wie ich gefunden, dass das keydown-Ereignis war eigentlich ausgelöst durch eine einzigartige Veranstaltung namens "textInput", die die Informationen enthält, die innerhalb von event.originalEvent.Daten.
Hoffe, dies spart Ihnen Zeit und viel Glück!
InformationsquelleAutor der Antwort Danny Coulombe
Den wahren Weg, um den Schlüsselcode zu verwenden
Diese Eigenschaft auf event-Objekt ist die Standardisierung der
event.keyCode
Eigenschaft. Sie können darüber Lesen Sie auch in der jQuery Dokumentation hier oder MDN hierIn anderer Weise, ich habe viel Erfahrung mit Tastatur-Ereignisse auf android-Geräten.
Android-browser hat manchmal Probleme mit Tastatur-Ereignisse durch device-Fragmentierung (verschiedene ROMs zwischen Geräten oder externe Tastatur-apps). Der beste Weg ist, um zu versuchen, um alle Tastatur-Ereignisse (keydown, keyup und keypress) und vergleichen jedes Ergebnis, um die gedrückte Taste.
Der beste Weg ist, um in der "input" - Veranstaltung und erhalten Sie alle Zeit der letzten Charta. Die Eingabe-Ereignis kontrollieren können, wie in meiner Antwort hier.
InformationsquelleAutor der Antwort g.e.manor
Für Referenz
InformationsquelleAutor der Antwort coder
Wenn noch jemand Graben.Problem scheint auf stock Samsung Tastatur für
android
Geräte.Stattdessen
onkeyup
.InformationsquelleAutor der Antwort Sergei Panfilov
Verwenden müssen charCode statt keyCode
InformationsquelleAutor der Antwort Atif Mahmood
ändern Sie den Typ der Eingabe, tel :
<input type="tel">
dieser können Sie die Anmeldung der keyCode aber es tut melden Sie die Rücktaste, und es könnte zwingen, die Tastatur auf dem Handy, um nur zahlen.
InformationsquelleAutor der Antwort George