如何禁用输入类型 = 文本的拼写检查?
Posted
技术标签:
【中文标题】如何禁用输入类型 = 文本的拼写检查?【英文标题】:How does one disable spellcheck on input type=text? 【发布时间】:2011-08-24 14:43:26 【问题描述】:我想在我的文本字段<input type="text">
上禁用拼写检查,以免出现任何难看的红色波浪线。
我知道其他人也问过同样的问题,但他们总是将spellcheck=false
的答案设为已接受。这是不正确的。这仅适用于文本区域,不适用于输入。
我希望它至少可以在 chrome 中工作。
【问题讨论】:
您在哪个浏览器中看到input
元素的拼写检查?还有,不用大喊大叫。
***.com/questions/4524000/…
同时制作一个不能调整大小的单行文本区域和BAM文本框。
【参考方案1】:
来自http://blog.whatwg.org/the-road-to-html-5-spellchecking#compatibility:
Google Chrome 对
<textarea>
元素而不是<input type=text>
元素 提供即时拼写检查功能。它完全忽略了拼写检查属性。它不为最终用户提供更改默认行为或手动检查各个字段的选项。
所以,到此结束。
更新:自 Chrome 13(2011 年 8 月发布,此答案后 3 个月)以来,<input>
元素也支持它。
【讨论】:
我不会担心这个。对输入字段进行拼写检查是最终用户自己的选择。您不应强制浏览器在您的网站上表现不同。无论如何,我已经立即禁用了拼写检查。 @BalusC 这太愚蠢了,有足够的理由禁用辅助功能选项。例如,如果您自己进行拼写检查,您可能想要自己处理的按钮周围的焦点发光也是如此。或者也许是一个 javascript 的练习应用程序,您想在其中看看某人能多好地拼写一些东西作为一个测试问题,还有更多的原因。因此你应该能够强制它,幸运的是它是可能的。 此答案已弃用。 @Sebas:我相信你的意思是说“过时”:)【参考方案2】:2020 年 1 月更新
spellcheck=false
和 spellcheck="false"
现在都可以在 Chrome 中使用。
原答案:
虽然spellcheck=false
不能在问题中提到的Chrome 中工作,但spellcheck="false"
工作成功。
【讨论】:
这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 @JamesDonnelly 答案很简短 - spellcheck="false" 。但我不能发布太短的答案。这不是“批评或要求作者澄清”,这是答案 此答案不正确,与其说是答案,不如说是评论。您不需要将 HTML 属性用引号括起来,并且 spellcheck 属性是专门为textarea
元素设计的。
@JamesDonnelly 自己在你的 chrome 中试试吧!
@JamesDonnelly 可能令人惊讶,但它现在确实有效(我在 Chrome 31.0.1650.34 上)。 jsfiddle.net/vr9pR - 在两个框中输入一些拼写错误的单词。【参考方案3】:
您可以在<input type="text">
中使用spellcheck=false
或spellcheck="false"
。这是对发布的其他答案的轻微更新。
jsfiddle.net/8nc2w6e0
在 Chrome 39.0.2171.95 上测试。
【讨论】:
【参考方案4】:我确信当时 BalusC 的回答是准确的,但我认为它已经过时了。我现在正在 Win7 上的 Chrome 31.0.1650.57 中对此进行测试,spellcheck="false"
肯定会抑制<input type="text">
中可怕的红色波浪线。
总的来说,我同意您不应该这样做,但任何规则都有例外。 (在我的例子中,输入需要 base64。)
【讨论】:
【参考方案5】:<table spellcheck="false"> ....
<td><textarea> blabla </textarea></td> ....
....... <td><textarea> xxxxx </textarea></td>
</table>
适用于 FF CH
【讨论】:
【参考方案6】:另请注意,从 React/jsx 引用时,属性名称应使用大写 C 字母 spellCheck="false"
【讨论】:
以上是关于如何禁用输入类型 = 文本的拼写检查?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Cordova Android 应用程序中禁用复制粘贴、拼写检查、自动完成