Ich habe alle Antworten auf diese Fragen gelesen und keine der Lösungen scheint zu funktionieren.
Außerdem bekomme ich die Stimmung, dass das Auslösen eines Tastendrucks mit Sonderzeichen überhaupt nicht funktioniert. Kann jemand überprüfen, wer dies getan hat?
Antworten:
Wenn Sie das Tastendruck- oder Keydown-Ereignis auslösen möchten, müssen Sie lediglich Folgendes tun:
quelle
Mit jQuery 1.6+ jetzt etwas prägnanter :
(Wenn Sie die jQuery-Benutzeroberfläche nicht verwenden, geben Sie stattdessen den entsprechenden Schlüsselcode ein.)
quelle
.trigger(jQuery.Event('name', props))
. Schauen Sie sich das Beispiel jsfiddle.net/9ggmrbpd/1 an - Eigenschaften des ausgelösten Ereignisses werden unverändert übergeben. Quellcode: github.com/jquery/jquery/blob/master/src/event.js#L739Die eigentliche Antwort muss keyCode enthalten:
Obwohl auf der Website von jQuery angegeben ist, dass which und keyCode normalisiert sind, liegen sie sehr falsch. Es ist immer am sichersten, die standardmäßigen browserübergreifenden Überprüfungen für e.which und e.keyCode durchzuführen und in diesem Fall nur beide zu definieren.
quelle
e.keyCode = e.which = 50;
wäre in einer einzigen Zeile schöner. :)keyCode
funktioniert. Musste beide einstellen, damit es funktioniertWenn Sie auch die jQuery-Benutzeroberfläche verwenden, können Sie Folgendes tun:
quelle
Ich habe es mit Keyup zum Laufen gebracht.
quelle
Ok, für mich funktioniert das damit ...
quelle
Falls Sie den aktuellen Cursor und die aktuelle Textauswahl berücksichtigen müssen ...
Bei einer AngularJS-App auf Chrome funktionierte dies nicht. Wie Nadia in den ursprünglichen Kommentaren betont, ist der Charakter im Eingabefeld nie sichtbar (zumindest war das meine Erfahrung). Darüber hinaus berücksichtigen die vorherigen Lösungen nicht die aktuelle Textauswahl im Eingabefeld. Ich musste eine wundervolle Bibliotheksauswahl verwenden .
Ich habe einen benutzerdefinierten Ziffernblock auf dem Bildschirm, der mehrere Eingabefelder ausfüllt. Ich musste...
Speichern Sie bei Unschärfe die aktuelle Textauswahl (Start und Stopp).
Wenn eine Taste auf meiner Tastatur gedrückt wird:
quelle
Sie möchten es in einer einzigen Zeile tun, die Sie verwenden können
quelle
console.log( String.fromCharCode(event.charCode) );
Ich denke, es ist nicht nötig, einen Charakter zuzuordnen.
quelle
Dies kann wie folgt erreicht werden
quelle