Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. Element
  4. beforeinput

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Element: beforeinput Ereignis

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨März 2021⁩.

Das DOM-beforeinput-Ereignis wird ausgelöst, wenn der Wert eines<input>- oder<textarea>-Elements geändert werden soll. Im Gegensatz zuminput-Ereignis wird es jedoch nicht beim<select>-Element ausgelöst. Das Ereignis gilt auch für Elemente mit aktiviertercontenteditable-Eigenschaft und für beliebige Elemente, wenndesignMode aktiviert ist.

Dadurch können Web-Apps das Verhalten bei Texteinträgen überschreiben, bevor der Browser den DOM-Baum ändert, und sie bieten mehr Kontrolle über Eingabeereignisse zur Verbesserung der Leistung.

Im Fall voncontenteditable unddesignMode ist das Ereignisziel derEditing Host. Wenn diese Eigenschaften auf mehrere Elemente zutreffen, ist der Editing Host das nächstgelegene Vorelement, dessen Elternteil nicht bearbeitbar ist.

Hinweis:Nicht jede Benutzermodifikation führt zur Auslösung vonbeforeinput. Außerdem kann es vorkommen, dass das Ereignis ausgelöst wird, aber nicht abgebrochen werden kann. Dies kann passieren, wenn die Änderung durch Autovervollständigung, durch Annahme einer Korrektur von einem Rechtschreibprüfer, durch automatisches Ausfüllen durch den Passwort-Manager, durchIME oder auf andere Weise vorgenommen wird. Die Details variieren je nach Browser und Betriebssystem. Um das Bearbeitungsverhalten in allen Situationen zu überschreiben, muss der Code dasinput-Ereignis behandeln und möglicherweise Änderungen rückgängig machen, die nicht vombeforeinput-Handler behandelt wurden. Siehe Bugs1673558 und1763669.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wieaddEventListener() oder legen Sie eine Ereignis-Handler-Eigenschaft fest.

js
addEventListener("beforeinput", (event) => { })onbeforeinput = (event) => { }

Ereignistyp

EinInputEvent. Erbt vonUIEvent.

Event UIEvent InputEvent

Ereigniseigenschaften

Diese Schnittstelle erbt Eigenschaften von ihren Eltern,UIEvent undEvent.

InputEvent.dataSchreibgeschützt

Gibt eine Zeichenfolge mit den eingefügten Zeichen zurück. Dies kann eine leere Zeichenfolge sein, wenn die Änderung keinen Text einfügt (z. B. beim Löschen von Zeichen).

InputEvent.dataTransferSchreibgeschützt

Gibt einDataTransfer-Objekt zurück, das Informationen über richtext- oder plaintext-Daten enthält, die zu bearbeitbaren Inhalten hinzugefügt oder daraus entfernt werden.

InputEvent.inputTypeSchreibgeschützt

Gibt den Typ der Änderung für bearbeitbare Inhalte zurück, wie z. B. Einfügen, Löschen oder Formatieren von Text.

InputEvent.isComposingSchreibgeschützt

Gibt einenBoolean-Wert zurück, der angibt, ob das Ereignis nachcompositionstart und vorcompositionend ausgelöst wird.

Beispiele

Funktionserkennung

Die folgende Funktion gibttrue zurück, wennbeforeinput und somitgetTargetRanges unterstützt wird.

js
function isBeforeInputEventAvailable() {  return (    window.InputEvent &&    typeof InputEvent.prototype.getTargetRanges === "function"  );}

Einfacher Logger

Dieses Beispiel protokolliert den aktuellen Wert des Elements, unmittelbar bevor dieser Wert durch den neuen Wert ersetzt wird, der auf das<input>-Element angewendet wird.

HTML

html
<input placeholder="Enter some text" name="name" /><p></p>

JavaScript

js
const input = document.querySelector("input");const log = document.getElementById("values");input.addEventListener("beforeinput", updateValue);function updateValue(e) {  log.textContent = e.target.value;}

Ergebnis

Spezifikationen

Specification
UI Events
# event-type-beforeinput

Browser-Kompatibilität

Siehe auch

  • Verwandtes Ereignis:input

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp