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.
Syntax
Verwenden Sie den Event-Namen in Methoden wie addEventListener()
, oder setzen Sie eine Event-Handler-Eigenschaft.
addEventListener("keypress", (event) => {});
onkeypress = (event) => {};
Eventtyp
Ein KeyboardEvent
. Erbt von UIEvent
und Event
.
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 zwischencompositionstart
undcompositionend
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
<div>
<label for="sample">Focus the input and type something:</label>
<input type="text" name="text" id="sample" />
</div>
<p id="log"></p>
const log = document.getElementById("log");
const input = document.querySelector("input");
input.addEventListener("keypress", logKey);
function logKey(e) {
log.textContent += ` ${e.code}`;
}
Entsprechung von onkeypress
input.onkeypress = logKey;
Spezifikationen
Specification |
---|
UI Events # event-type-keypress |
HTML # handler-onkeypress |
Browser-Kompatibilität
BCD tables only load in the browser