Das Keydown- Ereignis tritt auf, wenn die Taste gedrückt wird, unmittelbar gefolgt vom Tastendruckereignis. Dann wird das keyup Ereignis wird generiert, wenn die Taste losgelassen wird.
Um den Unterschied zwischen Tastendruck und Tastendruck zu verstehen , ist es hilfreich, zwischen Zeichen und Tasten zu unterscheiden . Eine Taste ist eine physische Taste auf der Tastatur des Computers. Ein Zeichen ist ein Symbol, das durch Drücken einer Taste eingegeben wird. Wenn Sie auf einer US-Tastatur die 4Taste drücken, während Sie die ShiftTaste gedrückt halten, wird normalerweise ein "Dollarzeichen" erzeugt. Dies ist nicht unbedingt bei jeder Tastatur der Welt der Fall. In der Theorie die keydown und keyup repräsentieren Ereignisse Tasten gedrückt werden oder freigegeben, während die keypressEreignis repräsentiert ein Zeichen, das eingegeben wird. In der Praxis wird dies nicht immer so umgesetzt.
Für eine Weile haben einige Browser unmittelbar nach dem Tastendruck ein zusätzliches Ereignis namens textInput ausgelöst . Frühere Versionen des DOM 3-Standards beabsichtigten dies als Ersatz für das Tastendruckereignis , aber der gesamte Begriff wurde später widerrufen. Webkit hat dies zwischen den Versionen 525 und 533 unterstützt, und mir wurde gesagt, dass IE es unterstützt, aber ich habe das nie erkannt, möglicherweise weil Webkit den Namen textInput forderte, während IE es textinput nannte .
Es gibt auch ein Ereignis namens Eingabe , das von allen Browsern unterstützt wird und unmittelbar nach einer Änderung an einem Textbereich oder Eingabefeld ausgelöst wird . Normalerweise wird ein Tastendruck ausgelöst, dann wird das eingegebene Zeichen im Textbereich angezeigt und die Eingabe wird ausgelöst. Das Eingabeereignis gibt keine Informationen darüber, welcher Schlüssel eingegeben wurde. Sie müssen das Textfeld überprüfen, um herauszufinden, was sich geändert hat. Daher betrachten wir es nicht wirklich als Schlüsselereignis und dokumentieren es hier nicht wirklich . Obwohl es ursprünglich nur für Textbereiche und Eingabefelder definiert wurde, gibt es meiner Meinung nach eine gewisse Tendenz, es zu verallgemeinern, um auch auf andere Arten von Objekten zu feuern.