InputEvent: inputType 属性

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流浏览器均已支持。

* 此特性的某些部分可能存在不同级别的支持。

inputTypeInputEvent 接口的一个只读属性,用于返回对可编辑内容所做的更改的类型。可能的更改包括插入、删除和格式化文本等。

一个包含所作输入类型的字符串。有许多可能的值,例如 insertTextdeleteContentBackwardinsertFromPasteformatBold。有关可用输入类型的完整列表,请参阅 Input Events Level 2 规范的 Attributes 部分

示例

此示例记录了在可编辑的 <div> 元素上发生的 input 事件inputType

HTML

html
<p id="log">Input type:</p>
<div contenteditable="true" class="sample-text">
  <p>
    Some sample text. Try inserting line breaks, or deleting text in different
    ways, or pasting different content in.
  </p>
  <hr />
  <ul>
    <li>A sample</li>
    <li>bulleted</li>
    <li>list.</li>
  </ul>
  <p>Another paragraph.</p>
</div>

CSS

css
.sample-text {
  margin: 20px;
  padding: 20px;
  border: 2px dashed red;
}

JavaScript

js
const log = document.getElementById("log");
const editable = document.querySelector("div[contenteditable]");
editable.addEventListener("input", logInputType);

function logInputType(event) {
  log.textContent = `Input type: ${event.inputType}`;
}

结果

尝试编辑 <div> 中的文本,看看会发生什么。

注意:另请参阅 Masayuki Nakano 的 InputEvent 测试套件,以获取更详细的示例。

规范

规范
UI 事件
# dom-inputevent-inputtype

浏览器兼容性