Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die EditContext-API kann verwendet werden, um auf dem Web Rich-Text-Editoren zu erstellen, die fortgeschrittene Texterfassungserfahrungen unterstützen, wie zum Beispiel Input Method Editor (IME)-Komposition, Emoji-Auswahl oder andere plattformspezifische Bearbeitungs-bezogene UI-Oberflächen.
Mit der EditContext-API erhalten Sie die Flexibilität, Ihren eigenen editierbaren Textbereich mit beliebiger Technologie zu rendern.
Mehrere Akteure sind beteiligt, wenn Text in einem editierbaren Bereich einer Anwendung eingegeben wird:
BenutzerDer Benutzer stellt den Text durch eine Eingabemethode bereit: eine Tastatur, Maus, Stimme oder andere Eingabemethode.
Eingabemethoden-SoftwareDie Eingabemethoden-Software wandelt die Benutzereingaben in Text um. Zum Beispiel könnte es sich dabei um einen Input Method Editor (IME) handeln, der Tastenanschläge von einer Standardtastatur in japanische, chinesische oder koreanische Zeichen umwandelt.
Betriebssystem-TexteingabedienstDer Texteingabedienst des Betriebssystems fungiert als Verbindung zwischen der Eingabemethoden-Software und der Anwendung.
Textbearbeitungskontext der AnwendungDer Textbearbeitungskontext der Anwendung stellt einen Zustand des bearbeiteten Textes bereit. Der Zustand enthält Informationen wie den Text selbst, die aktuelle Auswahl und den Standort des Textes in der Benutzeroberfläche der App.
Editierbarer Bereich der AnwendungDer editierbare Bereich der Anwendung ist das UI-Element der Anwendung, das den Text anzeigt.
Während die ersten drei Akteure vom Betriebssystem zur Verfügung gestellt werden, ist die Anwendung dafür verantwortlich, den editierbaren Bereich und den Textbearbeitungskontext bereitzustellen.
Im Web sind editierbare Bereiche oft <textarea>-Elemente, <input>-Elemente oder Elemente mit dem contenteditable-Attribut, das auf true gesetzt ist. Für diese Elemente stellt der Browser automatisch den Textbearbeitungskontext bereit, und Web-Autoren müssen keinen Code schreiben, um die Texterfassung zu unterstützen.
Web-Autoren können auch benutzerdefinierte editierbare Bereiche mit der EditContext-API erstellen. Zum Beispiel könnte ein Web-Autor einen Rich-Text-Editor erstellen, der ein <canvas>-Element verwendet, um den Text zu rendern. In diesem Fall muss der Web-Autor Code schreiben, um die Texterfassung zu unterstützen.
Wenn Sie sich entscheiden, Ihren eigenen editierbaren Bereich zu implementieren, sei es, indem Sie Text in ein <canvas> zeichnen oder es in eine Reihe von DOM-Elementen rendern, sind Sie dafür verantwortlich, die Dinge bereitzustellen, die der Browser normalerweise für Sie bereitstellt, wenn Sie stattdessen ein <textarea> verwenden würden. Dies schließt ein:
Im Gegenzug macht die EditContext-API das von Ihnen gewählte DOM-Element editierbar und Teil der Fokusreihenfolge des Dokuments. Darüber hinaus liefert die EditContext-API auch Informationen über den Zustand des bearbeiteten Textes, die es Ihnen ermöglichen, ihn individuell zu rendern. Die Ihnen bereitgestellten Informationen umfassen:
Wenn Sie die EditContext-API mit einem <canvas>-Element verwenden, stellen Sie sicher, dass der Text auch für unterstützende Technologien zugänglich ist. Bildschirmleseprogramme können den Text in einem <canvas>-Element nicht lesen. Zum Beispiel könnten Sie eine separate Ansicht des Textes in einem außerhalb des Bildschirms befindlichen DOM-Element aufrechterhalten, das den Bildschirmleseprogrammen präsentiert wird.
Um die EditContext-API zu verwenden, müssen Sie eine Instanz der EditContext-Schnittstelle erstellen und sie dann über die editContext-Eigenschaft an das DOM-Element anhängen, das Sie editierbar machen möchten. Das DOM-Element kann jedes Element sein, einschließlich eines <div> oder eines <canvas>-Elements.
Eine EditContext-Instanz kann jeweils nur an ein DOM-Element angehängt werden.
Das Anfügen einer EditContext-Instanz an ein DOM-Element macht das Element fokussierbar als Teil der Fokusreihenfolge des Dokuments. Der Benutzer kann mit der Eingabemethode seiner Wahl Text in das Element eingeben, und Sie können Ereignisse verwenden, die von der EditContext-Instanz ausgelöst werden, um den Text und die Auswahl zu rendern.
Bei der Verwendung der EditContext-API hilft es, Ihr Bearbeitungserlebnis als Modell- und Sichtarchitektur zu gestalten.
Die EditContext-Instanz repräsentiert das Modell Ihres editierbaren Bereichs. Ihr interner Zustand wird aktualisiert, wenn Texteingaben empfangen werden und wenn sich die Auswahl ändert.
Dann können Sie den Text und die Auswahl in der Sicht rendern, indem Sie die von der EditContext-Instanz bereitgestellten Informationen verwenden. Dabei muss Ihre Sicht nicht exakt dem Modell entsprechen. Sie können den Text auf beliebige Weise rendern.
Die EditContext-Schnittstelle ist eine JavaScript-Reflexion des Textbearbeitungskontexts, der normalerweise transparent vom Browser bereitgestellt wird, wenn Standard-Editierbereiche wie textarea verwendet werden. EditContext liefert den Zustand des bearbeiteten Textes mit Informationen wie dem Text selbst, der aktuellen Auswahl oder der Position des Textes in der Benutzeroberfläche der App.
TextFormatDie TextFormat-Schnittstelle wird verwendet, um bestimmte Formate darzustellen, die auf Textbereiche angewendet werden sollen, wenn der Benutzer Text innerhalb des IME-Kompositionsfensters eingibt.
TextUpdateEventDie TextUpdateEvent-Schnittstelle ist ein DOM-Ereignis, das eine Text- oder Auswahlaktualisierung in einem editierbaren Textbereich darstellt, der an eine EditContext-Instanz angehängt ist.
TextFormatUpdateEventDie TextFormatUpdateEvent-Schnittstelle ist ein DOM-Ereignis, das eine Liste von Textformaten darstellt, die ein Input Method Editor (IME)-Fenster auf den in einem editierbaren Bereich komponierten Text anwenden möchte, der an eine EditContext-Instanz angehängt ist.
CharacterBoundsUpdateEventDie CharacterBoundsUpdateEvent-Schnittstelle ist ein DOM-Ereignis, das eine Anforderung des Betriebssystems darstellt, um die Grenzen bestimmter Zeichen innerhalb eines editierbaren Bereichs zu kennen, der an eine EditContext-Instanz angehängt ist.
Die editContext-Eigenschaft der HTMLElement-Schnittstelle ruft das mit einem Element verknüpfte EditContext-Objekt ab und legt es fest.
| EditContext API # dom-editcontext |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.