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 vor der Verwendung auf produktiven Webseiten.

Die TextFormat Schnittstelle repräsentiert spezifische Formatierungen, die auf einen Textbereich in einem bearbeitbaren Textbereich angewendet werden sollen, der an eine EditContext-Instanz angehängt ist. Die Textformatierung wird vom Eingabemethodeneditor (IME) angefordert, mit dem der Benutzer Text verfasst.

Wenn Sie eine der standardmäßigen bearbeitbaren Bereiche des Webs verwenden, wie etwa ein <textarea>-Element, wird die IME-Komposition vom Browser und Betriebssystem für Sie verwaltet. Beispielsweise können bei der Verwendung des japanischen IME in einem Textbereich unter Windows die folgenden Textformate angewendet werden:

  • Wenn Text mit der Tastatur verfasst wird, haben die eingegebenen Zeichen eine dünne wellige Unterstreichung:

    Ein Textbereich in Microsoft Edge unter Windows mit japanischem Text, der aus dem IME-Fenster verfasst wird

  • 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:

    Ein Textbereich in Microsoft Edge unter Windows mit japanischem Text, der aus dem IME-Fenster ausgewählt wird

Beim Erstellen eines eigenen benutzerdefinierten bearbeitbaren Bereichs mit der EditContext API müssen Sie die IME-Komposition selbst verwalten. Sie sollten das textformatupdate-Ereignis überwachen, das Ihnen die Liste der Textformate liefert, die das IME-Fenster auf den verfassten Text anwenden möchte. Sie sollten dann die Formatierung des im bearbeitbaren Bereich angezeigten Textes entsprechend aktualisieren.

Konstruktor

TextFormat() Experimentell

Gibt eine neue TextFormat-Instanz zurück.

Instanz-Eigenschaften

TextFormat.rangeStart Schreibgeschützt Experimentell

Die Startposition des Textbereichs, der mit dem angegebenen Textformat formatiert werden muss.

TextFormat.rangeEnd Schreibgeschützt Experimentell

Die Endposition des Textbereichs, der mit dem angegebenen Textformat formatiert werden muss.

TextFormat.underlineStyle Schreibgeschützt Experimentell

Der Stil der Unterstreichung, die auf den formatierten Textbereich angewendet werden muss.

TextFormat.underlineThickness Schreibgeschützt Experimentell

Die Dicke der Unterstreichung, die auf den formatierten Textbereich angewendet werden muss.

Beispiele

Verwendung des textformatupdate-Ereignisses

Im folgenden Beispiel wird das textformatupdate-Ereignis verwendet, um die verschiedenen Formate zu protokollieren, die das IME-Kompositionsfenster auf Textbereiche im bearbeitbaren Element anwenden möchte. Beachten Sie, dass der Callback des Ereignis-Listeners in diesem Beispiel nur aufgerufen wird, wenn ein IME-Fenster zur Textverfassung verwendet wird.

html
<div id="editor" style="height:200px;background:#eee;"></div>
js
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