Rechtschreibprüfung=false bei contentEditable-Elementen

Lesezeit: 2 Minuten

Benutzeravatar von medihack
Medihack

Für normale Eingabeelemente können Sie die Rechtschreibprüfung über ein HTML-Attribut abschalten (zumindest unter FF). Das Gleiche spellcheck="false" scheint bei einem contentEditable-Element nicht zu funktionieren. Gibt es eine andere Lösung für contentEditable-Elemente?

  • Wie in Adam Pascoes Antwort erwähnt, scheint das Deaktivieren der Rechtschreibprüfung für das gesamte Dokument zu funktionieren (2022+), auch wenn es etwas … drastisch ist. <body spellcheck="false">

    – ölna

    vor 13 Stunden


Ich bin mir nicht sicher, ob Sie darauf hinauswollen, aber ich hatte ein ähnliches Problem mit dem Entfernen der Unterstreichung der Rechtschreibprüfung aus contentEditable-Elementen. Das Problem ist, wenn Sie die einstellen spellcheck -Attribut auf false setzen, werden alle Wörter, die wegen Rechtschreibfehlern unterstrichen wurden, so lange unterstrichen, bis Sie sich auf das contentEditable-Element konzentrieren.

Der folgende Hack sollte es tun:

element.spellcheck = false;
element.focus();
element.blur();

Ich hoffe, das hilft!

In Gecko alle contenteditable Elemente prüfen die Rechtschreibung anhand der spellcheck Attribut/Eigenschaft auf dem <body> Element.

  • Es scheint bei mir in einer sauberen (nur Firebug) Installation von FF4 nicht zu funktionieren. Zumindest wenn ich es über Firebug eingestellt habe.

    – Medihack

    8. April 2011 um 23:16 Uhr

  • data:text/html,<div contenteditable>Fe Fi Fo Fum wird mir als falsch geschrieben angezeigt. data:text/html,<body spellcheck=false><div contenteditable>Fe Fi Fo Fum nicht.

    – Neil

    9. April 2011 um 16:09 Uhr

Benutzeravatar von Adam Pascoe
Adam Pascoe

Basierend auf dem, was Neil gesagt hat, bin ich auf diesen Typen gekommen:

$('body').attr("spellcheck",false)

Alle meine contenteditable divs wurden standardmäßig so eingestellt, dass sie keine Rechtschreibprüfung verwenden. Ich plane die Verwendung von .blur und .focus, um die Rechtschreibprüfung für einzelne divs nach Bedarf zu aktivieren.

  • Keine Notwendigkeit für jQuery für etwas so Einfaches: document.body.setAttribute('spellcheck', false);

    – Stephen Jenkin

    8. Januar 2014 um 16:41 Uhr


Selbst wenn Sie Browserfehler außer Acht lassen, können Sie die Rechtschreibprüfung nicht deaktivieren. Sie können dem Benutzeragenten lediglich suggerieren, dass er keine Rechtschreibprüfung durchführt. Schaut man sich die an Abschnitt der Spezifikation wo es den Algorithmus beschreibt, um zu bestimmen, was auf Rechtschreibung geprüft werden kann, sind hier die ersten beiden Schritte:

  1. Wenn der Benutzer die Überprüfung für diesen Text deaktiviert hat, wird die Überprüfung deaktiviert.
  2. Andernfalls, wenn der Benutzer die Überprüfung für diesen Text erzwungen hat, um immer aktiviert zu sein, dann wird die Überprüfung aktiviert.

Benutzereinstellungen setzen die Attribute immer außer Kraft.

1430040cookie-checkRechtschreibprüfung=false bei contentEditable-Elementen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy