spellcheck = false для элементов contentEditable

Для обычных элементов ввода вы можете отключить проверку орфографии с помощью атрибута HTML (по крайней мере, в FF ). Тот же spellcheck="false", похоже, не работает с элементом contentEditable. Есть ли другое решение для элементов contentEditable?


person Zardoz    schedule 08.04.2011    source источник


Ответы (4)


Я не уверен, что это то, к чему вы клоните, но у меня возникла похожая проблема с удалением подчеркивания проверки орфографии из элементов contentEditable. Проблема в том, что когда вы устанавливаете для атрибута spellcheck значение false, любые слова, которые были подчеркнуты из-за орфографических ошибок, сохранят это подчеркивание, пока вы не сосредоточитесь на элементе contentEditable.

Следующий прием должен помочь:

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

Надеюсь, это поможет!

person JacobEvelyn    schedule 17.02.2012

В Gecko все contenteditable элементы проверяют орфографию на основе атрибута / свойства spellcheck элемента <body>.

person Neil    schedule 08.04.2011
comment
У меня это не работает в чистой (только Firebug) установке FF4. По крайней мере, когда установил через Firebug. - person Zardoz; 09.04.2011
comment
data:text/html,<div contenteditable>Fe Fi Fo Fum показывает мне, как написано с ошибкой. data:text/html,<body spellcheck=false><div contenteditable>Fe Fi Fo Fum нет. - person Neil; 09.04.2011

Основываясь на том, что сказал Нил, я придумал этого парня:

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

По умолчанию все мои contenteditable div не использовали проверку орфографии. Я планирую использовать .blur и .focus, чтобы при необходимости включить проверку орфографии для отдельных div.

person Adam Pascoe    schedule 02.07.2013
comment
Для чего-то такого простого не нужен jQuery: document.body.setAttribute('spellcheck', false); - person Stephen Jenkins; 08.01.2014

Даже не обращая внимания на ошибки браузера, вы не можете отключить проверку орфографии, все, что вы можете сделать, это предложить пользовательскому агенту, что он не проверяет орфографию. Если вы посмотрите на раздел спецификации где описывается алгоритм определения того, что проверяется орфографией, здесь представлены первые два шага:

  1. Если пользователь отключил проверку этого текста, то проверка отключена.
  2. В противном случае, если пользователь принудительно включил проверку этого текста всегда, проверка будет включена.

Предпочтения пользователя всегда имеют приоритет над атрибутами.

person robertc    schedule 08.04.2011