Heim >Web-Frontend >js-Tutorial >Was ist der Unterschied zwischen den JavaScript-Tastaturereignissen „onKeyDown', „onKeyPress' und „onKeyUp'?

Was ist der Unterschied zwischen den JavaScript-Tastaturereignissen „onKeyDown', „onKeyPress' und „onKeyUp'?

Barbara Streisand
Barbara StreisandOriginal
2024-11-28 08:25:15583Durchsuche

What's the Difference Between JavaScript's `onKeyDown`, `onKeyPress`, and `onKeyUp` Keyboard Events?

Die Nuancen von Tastaturereignissen verstehen: onKeyPress vs. onKeyUp und onKeyDown

Bei der Arbeit mit Tastaturereignissen in JavaScript ist es wichtig, zwischen onKeyPress, onKeyUp und onKeyDown zu unterscheiden Ereignisse. Obwohl diese Ereignisse ähnlich erscheinen mögen, dienen sie unterschiedlichen Zwecken:

onKeyDown und onKeyUp:

  • Wie beschrieben wird onKeyDown ausgelöst, wenn eine Taste zum ersten Mal gedrückt wird. während onKeyUp auftritt, wenn die Taste losgelassen wird. Diese Ereignisse liefern wertvolle Informationen darüber, wann eine Taste aktiv verwendet wird.

onKeyPress:

  • Im Gegensatz zu onKeyUp ist onKeyPress ein veraltetes Ereignis und hat wurde durch onKeyDown ersetzt. Es ähnelt jedoch auch onKeyUp darin, dass es nach onKeyDown auftritt, wenn eine Taste gedrückt und losgelassen wird.

Die Ausnahme mit WebKit:

  • In Im Fall von WebKit-Browsern gibt es ein zusätzliches Ereignis namens textInput, das zwischen onKeyPress und onKeyUp liegt. Dieses Ereignis bezieht sich speziell auf die Texteingabe und hilft bei der Erkennung, wann Zeichen eingegeben werden.

Eine anschauliche Demonstration:

Um die Reihenfolge dieser Ereignisse klar zu visualisieren, Versuchen Sie es mit dem folgenden Codeausschnitt:

window.addEventListener("keyup", log);
window.addEventListener("keypress", log);
window.addEventListener("keydown", log);

function log(event){
  console.log(event.type);
}

Wenn Sie Text in ein Eingabefeld eingeben, werden Sie die folgende Abfolge von Ereignissen bemerken, die im protokolliert werden Konsole:

1. keydown – zeigt den ersten Tastendruck an
2. Tastendruck (falls unterstützt) – ähnlich wie bei Tastendruck, tritt auf, wenn die Taste gedrückt gehalten wird
3. textInput (nur WebKit) – verfolgt die Texteingabe
4. keyup – bedeutet die Freigabe des Schlüssels

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den JavaScript-Tastaturereignissen „onKeyDown', „onKeyPress' und „onKeyUp'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn