autocorrect="off"仅在ios safari和旧版android chrome(50–70)生效,现代chrome、firefox、edge完全忽略;跨平台禁用需组合spellcheck="false"、autocorrect="off"、autocapitalize="none"、inputmode="verbatim"。

autocorrect="off" 单独写根本关不掉自动纠错——它只在 iOS Safari 和旧版 Android Chrome(50–70)里起作用,现代 Chrome、Firefox、Edge 完全忽略这个属性。真正跨平台生效的,是 spellcheck="false,但必须配合其他属性一起用。
autocorrect="off" 在哪些浏览器里真有效
它不是通用开关,而是特定平台的“请求信号”:
- iOS Safari 必须写
autocorrect="off",否则键盘仍会自动替换单词(比如输teh变成the) - macOS Safari 同样依赖它来压制首字母大写和实时替换
- Android Chrome 50–70 左右支持,之后版本已移除对该属性的处理逻辑
- 桌面 Chrome/Firefox/Edge 写了也白写,它们根本不读这个属性
textarea 里 autocorrect="off" 没反应?检查 spellcheck 是否挂对地方
spellcheck="false" 只对可编辑元素生效:textarea 和 contenteditable="true" 的容器可以,input[type="text"] 不支持该属性(写了也会被浏览器忽略)。
常见错误:
- 给
pre或code标签加spellcheck="false"→ 它们默认不可编辑,属性无效 - 用 Monaco/CodeMirror 等编辑器时,把属性加在渲染层(如
div.monaco-editor)→ 实际输入由隐藏的textarea承担,得去改那个节点 - React 项目里写成
autoCorrect="off"→ React 会转成小写,但标准属性名是autocorrect,必须用小写字符串写法
为什么加了 autocorrect="off" 还被替换单词
HTML 属性只是“请求”,不是强制命令。系统级输入法优先级更高:
- macOS「系统设置 → 键盘 → 文本输入」里若开启【自动更正拼写】,所有网页都会被干预
- iOS 键盘设置中「自动更正」打开时,
autocorrect="off"可能被绕过(尤其中文拼音输入法下) - 某些输入法(如 Gboard)会无视
autocorrect,只响应inputmode="verbatim"或spellcheck="false"
最稳妥的做法是四件套齐上:spellcheck="false" + autocorrect="off" + autocapitalize="none" + inputmode="verbatim",再针对目标平台做真机测试——输一个明显错词(如 recieve),看有没有红色波浪线、右键有没有「更正为…」菜单。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











