如何在不禁用IE11拼写检查的情况下在textarea中禁用自动更正?

时间:2018-12-09 11:01:27

标签: javascript html html5 internet-explorer

如果我将spellcheck属性标记为false,似乎可以解决自动更正问题,但不会在拼写错误的单词下划线。

<textarea id="TextArea1"  spellcheck="false"></textarea>

我不想禁用拼写检查,但是我不喜欢它的自动更正功能。 如何创建自定义拼写检查属性?

2 个答案:

答案 0 :(得分:1)

注意:最初提出问题时,它没有指定IE11。该解决方案显然不适用于IE11。

请尝试以下操作:

<textarea autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="true"></textarea>

请记住,autocorrectautocapitalize不是标准属性,并非所有浏览器都支持。

更多信息:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#Attributes

答案 1 :(得分:1)

当HTML不够用时,您可以尝试使用JavaScript。

以下代码可防止任何自动更正(专门针对IE-11构建的 ):

var t = document.querySelector('#t');
var prev = '', len = 0;

t.addEventListener('keyup', function(e) {
  len = t.value.length;
  if(e.keyCode === 32) {
    t.value = prev + ' ';
  }

  prev = t.value;
  console.log(prev);
});

var t = document.querySelector('#t');
var prev = '', len = 0;

t.addEventListener('keyup', function(e) {
  len = t.value.length;
  if(e.keyCode === 32)
    t.value = prev + ' ';

  prev = t.value;
});
<textarea id='t' spellcheck='true' autocomplete='off'></textarea>

参考:Element.addEventListener()String charAt()