Deaktivieren Sie die Rechtschreibprüfung für HTML-Textfelder

286

Kann ich die Rechtschreibprüfung in HTML-Textfeldern irgendwie deaktivieren (wie z. B. in Safari)?

Michiel de Mare
quelle

Antworten:

420

Update : Wie von einem Kommentator vorgeschlagen (zusätzliche Gutschrift für Wie kann ich die Rechtschreibprüfung bei Texteingaben auf dem iPhone deaktivieren ), verwenden Sie diese Option, um alle Desktop- und mobilen Browser zu verwalten.

<tag autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>

Ursprüngliche Antwort: Javascript kann Benutzereinstellungen nicht überschreiben. Wenn Sie also keinen anderen Mechanismus als Textfelder verwenden, ist dies nicht möglich (oder sollte es nicht sein).

Eric Wendelin
quelle
4
Warum wurde dies akzeptiert? Dies ist nicht sinnvoll, da die Benutzereinstellungen überschrieben werden können, wenn der Browser dies zulässt. Siehe die Antwort von ms2ger.
usr
1
Nur weil es damals die beste Antwort war. Ich vermute, Michiel ist nicht zurückgegangen und hat den anderen als richtig markiert. Das wäre gut für mich, da es eine bessere Antwort ist.
Eric Wendelin
2
Wichtig, um die Browserkompatibilität zu beachten - Mobile Safari (iOS) berücksichtigt das Tag beispielsweise nicht - wufoo.com/html5/attributes/17-spellcheck.html
radicand
3
stackoverflow.com/questions/3416867/… hat die richtige Antwort auf diese ( autocorrect="off") für Mobile Safari - spellcheck=funktioniert nicht
Chris S
1
sollte autoComplete = "off" sein autoCorrect = "off" autoCapitalize = "off" ZauberCheck = "false"
zaman
208

Ja, verwenden Sie spellcheck="false", wie in HTML5 definiert , zum Beispiel:

<textarea spellcheck="false">
    ...
</textarea>
Ms2ger
quelle
1
MDN hat eine Tabelle, die den Standardwert der Rechtschreibprüfung für verschiedene Browser und Elemente zeigt: developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/…
Paul
2
Ich erhalte die Fehlermeldung "Rechtschreibprüfung für unbekannte DOM-Eigenschaften. Meinten Sie Rechtschreibprüfung?" Verwenden spellCheckscheint es zu befriedigen. Könnte nur eine reaktionsfähige Sache sein.
Shanimal
3
@Shanimal Ja, reagieren verwendet Kamel-Fall für DOM-Attribute. Siehe reactjs.org/docs/introducing-jsx.html
Sookie
13

Für Grammatik können Sie verwenden:

<textarea data-gramm="false" />
Sensor
quelle
7

Ein IFrame "löst" die Rechtschreibprüfung (wenn der Inhalt auf true gesetzt ist) nur als Textfeld aus, zumindest in Chrome.

JCOC611
quelle
1
+1 für "Content-Editable Set to True" -Trick, der der wahre Trick ist
AT
4

Das folgende Code-Snippet deaktiviert es für alle textareaund input[type=text]Elemente:

(function () {
    function disableSpellCheck() {
        let selector = 'input[type=text], textarea';
        let textFields = document.querySelectorAll(selector);

        textFields.forEach(
            function (field, _currentIndex, _listObj) {
                field.spellcheck = false;
            }
        );
    }

    disableSpellCheck();
})();
Artur Beljajev
quelle