编程语言
首页 > 编程语言> > javascript-仅在文本区域集中时,如何才能对文本区域进行拼写检查?

javascript-仅在文本区域集中时,如何才能对文本区域进行拼写检查?

作者:互联网

我希望对TEXTAREA Dom节点进行拼写检查(即spellcheck = true),但是每当TEXTAREA不集中时,拼写检查就不可见(即没有红色花体).我不在乎每当TEXTAREA失去焦点时是否会重置拼写检查状态.

据我所知,至少在Chrome中,这是INPUT(而不是TEXTAREA)的默认行为.

我尝试将TEXTAREA设置为spellcheck = false onblur,但这似乎无济于事.

对于内容可编辑的DIV,设置div.innerHTML = div.innerHTML的策略似乎可以解决问题,但是我不确定如何为TextAreas做等效的事情.

更新:

以下内容最终为我工作:

            onblur: function(e) {
              e.target.spellcheck = false;
              var old_value = e.target.value;
              e.target.value = "";
              e.target.value = old_value;
              e.target.spellcheck = true;
            }

解决方法:

如果您使用的是jQuery,则此操作:

$("textarea").on("focus", function() { $(this).attr("spellcheck", "true"); });

如果您不使用jQuery,则建议您使用jQuery.

编辑:

以下代码将相应地切换值:

$("textarea").on("focusin", function() { $(this).attr("spellcheck", "true"); });
$("textarea").on("focusout", function() { $(this).attr("spellcheck", "false"); });

标签:spell-checking,html,javascript
来源: https://codeday.me/bug/20191127/2076849.html