HTMLElement:autocapitalize 属性

可用性有限

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

HTMLElement 接口的 autocapitalize 属性表示元素的自动大写行为,用于用户输入。该属性可用于所有 HTML 元素,但并非对所有元素都生效,包括

  • <input><textarea> 元素。
  • 任何设置了 contenteditable 属性的元素。

autocapitalize 不影响使用物理键盘输入时的行为。它会影响其他输入机制的行为,例如移动设备上的虚拟键盘和语音输入。这可以通过自动将每个句子的首字母大写等方式,使用户的输入更快、更轻松。

它反映了 autocapitalize HTML 全局属性的值。

一个字符串,表示元素的自动大写行为,用于用户输入。有效值如下:

noneoff

不应应用自动大写,即所有字母应默认为小写。

sentenceson

每个句子的第一个字母应默认为大写字母;所有其他字母应默认为小写。

words

每个单词的第一个字母应默认为大写字母;所有其他字母应默认为小写。

characters

所有字母应默认为大写。

示例

以下示例演示了如何通过脚本控制用户输入的自动大写行为

html
<div>Current capitalization behavior is: <span id="ac-label"></span></div>
<div id="ac-element" contenteditable="true" autocapitalize="default">
  input here
</div>
<select id="ac-controller" type="checkbox" checked>
  <option value="default">default</option>
  <option value="none">none</option>
  <option value="sentences">sentences</option>
  <option value="words">words</option>
  <option value="characters">characters</option></select
>Select the capitalization behavior
js
const label = document.getElementById("ac-label");
const element = document.getElementById("ac-element");
const controller = document.getElementById("ac-controller");

controller.addEventListener("input", (e) => {
  const behavior = e.target.value;
  label.textContent = behavior;
  element.autocapitalize = behavior;
});

规范

规范
HTML
# dom-autocapitalize-dev

浏览器兼容性

另见

  • autocapitalize HTML 全局属性