TextFormat
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Die TextFormat
-Schnittstelle repräsentiert spezifische Formatierungen, die auf einen Textbereich in einer editierbaren Textregion angewendet werden sollen, die an eine EditContext
-Instanz angeschlossen ist. Die Textformatierung wird vom Input Method Editor (IME)-Fenster angefordert, mit dem der Benutzer Text verfasst.
Wenn Sie eine der standardmäßigen editierbaren Regionen des Webs verwenden, wie z.B. ein <textarea>
-Element, wird die IME-Komposition von Browser und Betriebssystem für Sie gehandhabt. Zum Beispiel können bei Verwendung eines japanischen IME in einem Textbereich unter Windows die folgenden Textformate angewendet werden:
-
Wenn Text mit der Tastatur eingegeben wird, haben die getippten Zeichen eine dünne gewellte Unterstreichung:
-
Wenn der Benutzer einen Vorschlag aus der Liste der Kandidaten im IME-Fenster auswählt, wird der Text ersetzt und mit einer dicken durchgezogenen Linie unterstrichen:
Wenn Sie Ihre eigene benutzerdefinierte editierbare Region mithilfe der EditContext API erstellen, müssen Sie die IME-Komposition selbst verwalten. Sie sollten auf das textformatupdate
-Ereignis lauschen, das Ihnen die Liste der Textformate gibt, die das IME-Fenster auf den verfassten Text anwenden möchte. Sie sollten dann die Formatierung des Textes, der in Ihrer editierbaren Region dargestellt wird, entsprechend aktualisieren.
Konstruktor
TextFormat()
Experimentell-
Gibt eine neue
TextFormat
-Instanz zurück.
Instanz-Eigenschaften
TextFormat.rangeStart
Nur lesbar Experimentell-
Die Startposition des Textbereichs, der mit dem gegebenen Textformat formatiert werden muss.
TextFormat.rangeEnd
Nur lesbar Experimentell-
Die Endposition des Textbereichs, der mit dem gegebenen Textformat formatiert werden muss.
TextFormat.underlineStyle
Nur lesbar Experimentell-
Der Stil der Unterstreichung, die auf den zu formatierenden Textbereich angewendet werden muss.
TextFormat.underlineThickness
Nur lesbar Experimentell-
Die Dicke der Unterstreichung, die auf den zu formatierenden Textbereich angewendet werden muss.
Beispiele
Verwenden des textformatupdate
-Ereignisses
Im folgenden Beispiel wird das textformatupdate
-Ereignis verwendet, um die verschiedenen Formate zu protokollieren, die das IME-Zusammenstellungsfenster auf Textbereiche im editierbaren Element anwenden möchte. Beachten Sie, dass die Ereignis-Listener-Rückruffunktion in diesem Beispiel nur aufgerufen wird, wenn ein IME-Fenster verwendet wird, um Text zu verfassen.
<div id="editor" style="height:200px;background:#eee;"></div>
const editorEl = document.getElementById("editor");
const editContext = new EditContext(editorEl);
editorEl.editContext = editContext;
editContext.addEventListener("textformatupdate", (e) => {
// Get the TextFormat instances.
const formats = e.getTextFormats();
// Iterate over the TextFormat instances.
for (const format of formats) {
console.log(
`Applying a ${format.underlineThickness} ${format.underlineStyle} underline between ${format.rangeStart} and ${format.rangeEnd}.`,
);
}
});
Spezifikationen
Specification |
---|
EditContext API # dom-textformat |
Browser-Kompatibilität
BCD tables only load in the browser