使用CSS禁用拼写检查而非HTML

17
我想使用CSS禁用Chrome/Safari中的拼写检查。在HTML中,spellcheck="false" 可以起作用,但我希望以一种影响所有输入框的方式来实现这一点。我尝试了input{spellcheck: disabled},但没有起作用。

2
我认为这是不可能的。 - Pekka
有机会使用JavaScript吗?否则我不想做。不要以外观来判断可用性。 - yunzen
2
有些人说“不要用CSS”,但我完全支持这种想法。如果我想启用拼写检查,但出于某些原因不希望在可编辑的div中的某些区域显示它,那么我应该能够“隐藏”它。在我的情况下,这与显示有关,而不是打开或关闭内部检查。 - Pancho
2个回答

14

使用jQuery。类似于:

$(document).ready( function() {
    $("input[type='text'], textarea").attr('spellcheck',false);
});

这应该搜索页面上的所有文本框和文本域,并向它们添加属性spellcheck="false"


1
注意:在Safari(我的版本为9.1.1)上禁用拼写检查并不会删除红色拼写下划线波浪线。 - Léni

6
这不属于CSS的范畴(CSS是可选的呈现建议),而是关于交互式处理数据,而非渲染数据的样式特征。
在支持“拼写检查”的浏览器上,HTML属性spellcheck或相应的IDL(DOM)属性,在JavaScript中可设置,是有效的。实际上,这些浏览器通常仅默认启用文本区域的“拼写检查”(可能涉及语法和风格检查),由于文本区域通常包含人类语言文本,因此关闭它听起来并不有用。无论如何,用户可以控制它(用户可以关闭它或选择语言)。

3
如果您的网站用户在 textarea 中经常编写 URL、文件路径和代码(例如,如果您有一个错误跟踪网站),禁用所有 textarea 上的拼写检查可能是明智的选择。当混合检查代码和英文时,键入变量名称并将其标记为拼写错误是很烦人的,但这是不可避免的。请注意,涉及代码或技术语言的页面可能需要特定的编辑器和输入工具。 - Rory O'Kane
2
另一个用例是,如果您的网站仅使用名称和电子邮件作为输入。由于名称和电子邮件经常出现许多误报。 - GeorgeWL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接