我怎样才能让textarea只有在专注时才能进行拼写检查?

时间:2012-08-15 21:43:30

标签: javascript html spell-checking

我希望我的TEXTAREA Dom节点被拼写检查(即spellcheck = true),但是当TEXTAREA没有聚焦时,拼写检查是不可见的(即没有红色波浪形)。每当TEXTAREA失去焦点时,我都不关心是否重置拼写检查状态。

据我所知,这是INPUT的默认行为,但不是TEXTAREAs,至少在Chrome中是这样。

我已经尝试将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;
            }

1 个答案:

答案 0 :(得分:3)

如果您正在使用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"); });