Можно ли отключить проверку орфографии в текстовом поле через JavaScript?

Можно ли отключить проверку орфографии в текстовом поле через JavaScript?

Я искал атрибут HTML5 'spellcheck', и я могу заставить его работать самостоятельно. Тем не менее, я хотел бы иметь возможность изменить этот атрибут с помощью JavaScript.

После прочтения документации, указанной в приведенной выше ссылке, я собрал следующие строки кода (фрагменты из более крупного файла, я знаю, что они не будут работать самостоятельно):

document.querySelector("#editor").spellcheck = "false";

и

document.querySelector("#editor").spellcheck = "true";

Но это не работает. Я допустил ошибку или неправильно понял документацию? (Несомненно, консоль JavaScript в Google Chrome не возвращает ошибку.) Или есть ли другой способ сделать это?

Ответы

Ответ 1

Вы устанавливаете его в String "true" (который является значением true) и строкой "false" (которая также является значением true).

Используйте Booleans, а не строки. Избавьтесь от котировок.

Ответ 2

По крайней мере, для меня различие String/Boolean не влияет на атрибуты HTML в JavaScript-Javascript интерпретирует "false" == false.

У вас могут возникать проблемы с отменой проверки орфографии, потому что вы не заставляете ее переоценивать текстовое поле. Чтобы заставить это, попробуйте этот код:

var editor = document.getElementById("editor");
editor.spellcheck = false;
editor.focus();
editor.blur();

Фокус заставляет браузер переоценивать текстовое поле, в данном случае без проверки орфографии. Надеюсь, что это поможет!

Ответ 3

Предположим, что это базовый атрибут.

Следующее должно работать без библиотеки:

document.getElementById('editor').setAttribute('spellcheck', 'true'); // or false

и с jquery:

$('#editor').attr('spellcheck', 'true'); // or false