Javascript更改拼写检查属性不会更新显示

时间:2019-10-07 23:09:12

标签: javascript html css

我有一个文本区域,其spellcheck属性最初设置为false,并且没有红线,正如预期的那样。当我将属性更改为true时,再次出现了这些行。

但是,一旦我再次将属性设置为false,红线就不会更新。我想知道为什么会这样,或者是否有人知道一种解决方法或方法来更新CSS。

不进行拼写检查:

textarea without spellcheck red lines

具有拼写检查功能(但再次没有拼写检查功能):

textarea with spellcheck red lines


这是我完整的相关代码:

spellcheck.onclick = () => {
  notes.focus();
  notes.spellcheck = !notes.spellcheck;
  spellcheckonoff.textContent = notes.spellcheck ? ' on' : ' off';
}
<textarea id="notes" placeholder="Type here" spellcheck="false" autofocus></textarea>
<button id="spellcheck" type="button">spellcheck <span id="spellcheckonoff">off</span></button>

1 个答案:

答案 0 :(得分:0)

我发现一种解决方法是,设置notes.spellcheck = false之后,我基本上只是剪切并粘贴了textarea,然后将其重新加载:

        let tmp = notes.value;
        notes.value = "";
        notes.value = tmp;

很明显,它不能阻止bug的发生,并且如果文档非常庞大,可能无法很好地扩展,但是它确实可以正常工作,并且易于理解和实现。