Ответ 1
Вы устанавливаете его в String "true"
(который является значением true
) и строкой "false"
(которая также является значением true
).
Используйте Booleans, а не строки. Избавьтесь от котировок.
Можно ли отключить проверку орфографии в текстовом поле через JavaScript?
Я искал атрибут HTML5 'spellcheck', и я могу заставить его работать самостоятельно. Тем не менее, я хотел бы иметь возможность изменить этот атрибут с помощью JavaScript.
После прочтения документации, указанной в приведенной выше ссылке, я собрал следующие строки кода (фрагменты из более крупного файла, я знаю, что они не будут работать самостоятельно):
document.querySelector("#editor").spellcheck = "false";
и
document.querySelector("#editor").spellcheck = "true";
Но это не работает. Я допустил ошибку или неправильно понял документацию? (Несомненно, консоль JavaScript в Google Chrome не возвращает ошибку.) Или есть ли другой способ сделать это?
Вы устанавливаете его в String "true"
(который является значением true
) и строкой "false"
(которая также является значением true
).
Используйте Booleans, а не строки. Избавьтесь от котировок.
По крайней мере, для меня различие String/Boolean не влияет на атрибуты HTML в JavaScript-Javascript интерпретирует "false" == false
.
У вас могут возникать проблемы с отменой проверки орфографии, потому что вы не заставляете ее переоценивать текстовое поле. Чтобы заставить это, попробуйте этот код:
var editor = document.getElementById("editor");
editor.spellcheck = false;
editor.focus();
editor.blur();
Фокус заставляет браузер переоценивать текстовое поле, в данном случае без проверки орфографии. Надеюсь, что это поможет!
Предположим, что это базовый атрибут.
Следующее должно работать без библиотеки:
document.getElementById('editor').setAttribute('spellcheck', 'true'); // or false
и с jquery:
$('#editor').attr('spellcheck', 'true'); // or false