Element: keypress-Event

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Das keypress-Event wird ausgelöst, wenn eine Buchstaben-, Zahlen-, Interpunktions- oder Symboltaste gedrückt wird, oder wenn die Enter-Taste gedrückt wird – einschließlich der Kombination der Enter-Taste mit der Shift- oder Ctrl-Taste. Wird jedoch eine Modifikatortaste wie Alt, Shift, Ctrl, Meta, Esc oder Option isoliert gedrückt, wird das keypress-Event nicht ausgelöst.

Warnung: Da dieses Event veraltet ist, sollten Sie stattdessen beforeinput oder keydown verwenden.

Das Event bubbelt. Es kann Document und Window erreichen.

Syntax

Verwenden Sie den Event-Namen in Methoden wie addEventListener(), oder setzen Sie eine Event-Handler-Eigenschaft.

js
addEventListener("keypress", (event) => {});

onkeypress = (event) => {};

Eventtyp

Event-Eigenschaften

Diese Schnittstelle erbt auch Eigenschaften ihrer Eltern, UIEvent und Event.

KeyboardEvent.altKey Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn die Alt-Taste (Option oder auf macOS) aktiv war, als das Event ausgelöst wurde.

KeyboardEvent.code Schreibgeschützt

Gibt einen String mit dem Code-Wert der physischen Taste zurück, die durch das Event dargestellt wird.

KeyboardEvent.ctrlKey Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn die Ctrl-Taste aktiv war, als das Event ausgelöst wurde.

KeyboardEvent.isComposing Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn das Event zwischen compositionstart und compositionend ausgelöst wird.

KeyboardEvent.key Schreibgeschützt

Gibt einen String zurück, der den Tastenwert der Taste darstellt, die durch das Event dargestellt wird.

KeyboardEvent.location Schreibgeschützt

Gibt eine Zahl zurück, die den Ort der Taste auf der Tastatur oder einem anderen Eingabegerät darstellt. Eine Liste der Konstanten, die die Orte identifizieren, ist unter Tastaturorte aufgeführt.

KeyboardEvent.metaKey Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn die Meta-Taste (auf Mac-Tastaturen die ⌘ Command-Taste; auf Windows-Tastaturen die Windows-Taste ()) aktiv war, als das Event ausgelöst wurde.

KeyboardEvent.repeat Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn die Taste gedrückt gehalten wird, sodass sie automatisch wiederholt wird.

KeyboardEvent.shiftKey Schreibgeschützt

Gibt einen booleschen Wert zurück, der true ist, wenn die Shift-Taste aktiv war, als das Event ausgelöst wurde.

Beispiele

Beispiel für addEventListener mit keypress

Dieses Beispiel protokolliert den KeyboardEvent.code-Wert, wann immer Sie nach dem Fokussieren des <input>-Elements eine Taste drücken.

Um zu sehen, welche Tasten ein keypress-Event auslösen und welche nicht, versuchen Sie, die folgenden Tasten zu drücken:

  • Buchstaben-, Zahlen- und Interpunktions-Tasten
  • Symboltasten wie die $-, +-, =-, %- und +-Tasten
  • Modifikatortasten wie die Alt-, Shift-, Ctrl-, Meta-, Esc-, Option- oder -Tasten
  • die Enter-Taste
  • die Enter-Taste in Kombination mit der Shift- oder Ctrl-Taste
  • die Enter-Taste in Kombination mit anderen Modifikatortasten als der Shift- oder Ctrl-Taste
html
<div>
  <label for="sample">Focus the input and type something:</label>
  <input type="text" name="text" id="sample" />
</div>
<p id="log"></p>
js
const log = document.getElementById("log");
const input = document.querySelector("input");

input.addEventListener("keypress", logKey);

function logKey(e) {
  log.textContent += ` ${e.code}`;
}

Entsprechung von onkeypress

js
input.onkeypress = logKey;

Spezifikationen

Specification
UI Events
# event-type-keypress
HTML
# handler-onkeypress

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch