autocorrect
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.
Das autocorrect
globale Attribut ist ein aufzählbares Attribut, das kontrolliert, ob bearbeitbarer Text automatisch auf Rechtschreib- und/oder Zeichensetzungsfehler korrigiert wird.
Autokorrektur ist relevant für bearbeitbare Textelemente:
<input>
Elemente, mit Ausnahme vonpassword
,email
undurl
, welche die Autokorrektur nicht unterstützen.<textarea>
Elemente.- Jedes Element, welches das
contenteditable
Attribut gesetzt hat.
Bearbeitbare Elemente haben die Autokorrektur standardmäßig aktiviert, außer innerhalb eines <form>
Elements, wo der Standardwert möglicherweise vom Formular geerbt wird. Das explizite Setzen des Attributs überschreibt den Standardwert.
Wert
Mögliche Werte sind:
on
oder""
(die leere Zeichenkette)-
Aktiviert die automatische Korrektur von Rechtschreib- und Zeichensetzungsfehlern.
off
-
Deaktiviert die automatische Korrektur von bearbeitbarem Text.
Die <input>
Elementtypen, die die Autokorrektur nicht unterstützen, haben immer den off
Zustand: password
, email
und url
.
Für alle anderen bearbeitbaren Elemente wird das Setzen eines anderen Wertes als der oben aufgeführten immer als on
behandelt.
Der Standardwert für Elemente, die nicht innerhalb eines <form>
eingebettet sind, ist on
.
Bei Einbettung in ein <form>
erben die folgenden Elemente ihren Standardwert von autocorrect
vom Formular, falls dieser gesetzt wurde: <button>
, <fieldset>
, <input>
, <output>
, <select>
und <textarea>
.
Beispiele
Einfaches Beispiel
Dieses Beispiel demonstriert die grundlegende Verwendung des autocorrect
Attributs.
HTML
Wir fügen zwei Text <input>
Elemente mit unterschiedlichen Werten für ihre autocorrect
Attribute ein:
<label for="vegetable">A vegetable: </label>
<input id="vegetable" name="vegetable" type="text" autocorrect="on" />
<label for="fruit">A fruit: </label>
<input id="fruit" name="fruit" type="text" autocorrect="off" />
Ergebnisse
Geben Sie fehlerhaften Text in die Textfelder für Obst und Gemüse oben ein. Wenn die Autokorrektur in Ihrem Browser aktiviert ist, sollte ein Tippfehler in einem Gemüsenamen automatisch korrigiert werden, aber nicht in einem Obstnamen.
Aktivieren und Deaktivieren der Autokorrektur
Dieses Beispiel zeigt, wie Sie die Autokorrektur mit dem autocorrect
Attribut aktivieren und deaktivieren können.
HTML
Das HTML-Markup definiert einen <button>
, ein "name" <input>
Element vom Typ "text", ein "bio" <textarea>
Element und zwei <label>
Elemente.
Das "username" Element hat autocorrect="off"
gesetzt, da das Autokorrigieren eines Namens störend wäre!
Die Biografie gibt keinen Wert für autocorrect
an, was bedeutet, dass es aktiviert ist (wir hätten jeden anderen Wert außer off
setzen können).
<button id="reset">Reset</button>
<label for="username">Name: </label>
<input id="username" name="username" type="text" autocorrect="off" />
<label for="bio">Biography: </label>
<textarea id="bio" name="bio"></textarea>
JavaScript
Der Code überprüft, ob autocorrect
unterstützt wird, indem überprüft wird, ob es im Prototyp vorhanden ist. Wenn es nicht vorhanden ist, wird dies protokolliert. Wenn es vorhanden ist, wird der Wert der autocorrect
Eigenschaft für jedes der Texteingabeelemente protokolliert.
Ein Klick-Handler wird für den Button hinzugefügt, welcher es erlaubt, den eingegebenen Text und das Protokoll zurückzusetzen.
const resetButton = document.querySelector("#reset");
const userNameElement = document.querySelector("#username");
const bioElement = document.querySelector("#bio");
if (!("autocorrect" in HTMLElement.prototype)) {
log("autocorrect not supported");
} else {
log(`userNameElement.autocorrect: ${userNameElement.autocorrect}`);
log(`userNameElement.autocorrect: ${bioElement.autocorrect}`);
}
resetButton.addEventListener("click", (e) => {
userNameElement.value = "";
bioElement.value = "";
});
Ergebnisse
Geben Sie fehlerhaften Text in die Textfelder für Name und Biografie unten ein. Wenn die Autokorrektur in Ihrem Browser aktiviert ist (siehe das Protokoll unten), sollte der Text in der "Biografie" automatisch korrigiert werden, aber nicht im "Name" Feld.
Spezifikationen
Specification |
---|
HTML Standard # attr-autocorrect |
Browser-Kompatibilität
BCD tables only load in the browser