HTMLElement: autocorrect 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

HTMLElement 接口的 autocorrect 属性用于控制是否为可编辑文本启用拼写和/或标点符号错误的自动更正。

具体的自动更正行为,包括哪些单词会被替换,取决于用户代理和底层设备提供的服务。例如,在 macOS 上,用户代理可能会依赖已注册的替换文本和标点符号。其他设备和浏览器可能使用不同的方法。

该属性反映了autocorrect HTML 全局属性的值。

如果为该元素启用了自动更正,则为 true;否则为 false

示例

启用和禁用自动更正

此示例显示了如何启用和禁用自动更正。

HTML

HTML 标记定义了一个切换按钮和一个类型为type="search"<input> 元素。请注意,如果支持自动更正,它将默认启用。

html
<button id="toggleAutocorrect"></button>
<input type="search" id="searchinput" />

JavaScript

代码首先通过检查 autocorrect 是否存在于 HTMLElement 原型上来判断是否支持 autocorrect。如果存在,则会添加一个点击事件监听器,以允许您切换其值。如果不存在,则 UI 会隐藏交互式元素并记录 autocorrect 不受支持。

js
const toggleButton = document.querySelector("button");
const searchInput = document.querySelector("#searchinput");

function setButtonText() {
  toggleButton.textContent = searchInput.autocorrect ? "Enabled" : "Disabled";
  log(`autocorrect: ${searchInput.autocorrect}`);
}

if (`autocorrect` in HTMLElement.prototype) {
  setButtonText();

  toggleButton.addEventListener("click", (e) => {
    searchInput.autocorrect = !searchInput.autocorrect;
    setButtonText();
  });
} else {
  toggleButton.hidden = true;
  searchInput.hidden = true;
  log("autocorrect not supported");
}

结果

激活按钮以切换 autocorrect 值。在文本框中输入无效文本,例如“Carot”。当启用 autocorrect 并且实现中存在相应的替换词“carrot”时,文本应自动更正。

规范

规范
HTML
# dom-autocorrect

浏览器兼容性

另见