我可以以某种方式禁用HTML文本字段的拼写检查(如在Safari中所见)?
更新:正如一位评论者所建议的(额外归功于如何禁用iPhone文本输入的拼写检查器),使用此功能来处理所有桌面和移动浏览器。
<tag autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
原来的答案:Javascript不能覆盖用户设置,所以除非你使用其他机制而不是文本字段,这是不可能的(或不应该)。
是的,使用拼写检查="false",就像HTML5定义的那样,例如:
<textarea spellcheck="false">
...
</textarea>
下面的代码片段对所有textarea和input[type=text]元素禁用它:
(function () {
function disableSpellCheck() {
let selector = 'input[type=text], textarea';
let textFields = document.querySelectorAll(selector);
textFields.forEach(
function (field, _currentIndex, _listObj) {
field.spellcheck = false;
}
);
}
disableSpellCheck();
})();
如果您动态地创建了HTML元素,则需要通过JS禁用该属性。但是这里有一个小陷阱:
设置elem时。你可以使用布尔值false或者字符串"false"。但是当你设置elem。拼写检查,你只能使用布尔-出于某种原因。你的选择如下:
elem.spellcheck = false;
或者是Mac在回答中提供的选项:
elem.setAttribute("spellcheck", "false"); // Both string and boolean work here.
推荐文章
- 如何在JavaScript中转义单引号(')?
- 如何使用HTML/CSS在文本中插入空格/制表符
- 用背景图像填充SVG路径元素
- 将JSON显示为HTML
- HTML被认为是一种编程语言吗?
- 如何修复favicon.ico错误:“Failed to load resource: net::ERR_EMPTY_RESPONSE”
- 这个CSS是如何产生一个圆的?
- 我如何显示点(“…”)在一个跨度与隐藏溢出?
- 画布在使用CSS时被拉伸,但正常使用“width”/“height”属性
- 如何让一个按钮将我的页面重定向到另一个页面?
- 如何让元素被点击(对于整个文档)?
- Node.js上的html解析器
- 大写还是小写文档类型?
- 样式化HTML电子邮件的最佳实践
- CSS/HTML:什么是使文本斜体的正确方法?