Meine Seite muss auch auf Touch-Geräten über die Tastatur gesteuert werden. Ich habe ein BUTTON-Element eingefügt, das ein INPUT-Element fokussiert. Das funktioniert, das Sofkeyboard wird angezeigt.
$("button").click(function() {
$(this).next().focus();
});
Aber das $ (document) .keypress () wird in Chrome für Android nicht ausgelöst, solange das INPUT-Element den Fokus hat.
$(document).keypress(function(e) {
var char = (typeof e.which == "number") ? e.which : e.keyCode;
$("body").append(char);
});
Ich könnte die Ereignisse auf dem INPUT-Element verfolgen, aber dann habe ich auf vielen Geräten doppelte Eingänge.
Antworten:
0 für die Antwort № 1Die Lösung besteht darin, INPUT-Elemente und zu erstellenBindungsfunktionen für die "Eingabe" -Ereignisse der INPUT-Elemente. Sie speichern die meisten Eingaben. Um sicherzustellen, dass keine doppelten Eingaben von "keyup" und "input" erfolgen, wird das Ereignis "keyup" nur verwendet, wenn das Element INPUT nicht den Fokus hat.