元素:input 事件当 、
该事件也适用于启用了 contenteditable 的元素,以及在启用 designMode 时任何元素。对于 contenteditable 和 designMode,事件目标是编辑主机。如果这些属性应用于多个元素,编辑主机是其父级不可编辑的最接近的祖先元素。
对于 type=checkbox 或 type=radio 的 元素,每当用户切换控件时,input 事件应该触发,根据 HTML 生存规范。然而,历史上并非总是如此。检查兼容性,或者对于这些类型的元素,使用 change 事件。
对于接受文本输入的
每当元素的 value 发生变化时,都会触发 input 事件。这与 change 事件不同,后者仅在提交值时触发,例如按回车键或从选项列表中选择一个值。请注意,当 JavaScript 以编程方式更改元素的 value 时,不会触发 input 事件。
语法在像 addEventListener() 这样的方法中使用事件名,或者设置事件处理程序属性。
jsaddEventListener("input", (event) => {});
oninput = (event) => {};
事件类型一个 InputEvent。继承自 UIEvent。
事件属性此接口继承自其父级 UIEvent 和 Event 的属性。
InputEvent.data 只读
返回一个包含插入字符的字符串。如果更改未插入文本(例如,删除字符时),则这可能是一个空字符串。
InputEvent.dataTransfer 只读
返回一个 DataTransfer 对象,其中包含有关添加到可编辑内容或从中删除的富文本或纯文本数据的信息。
InputEvent.inputType 只读
返回可编辑内容的更改类型,例如插入、删除或格式化文本。
InputEvent.isComposing 只读
返回一个 Boolean 值,指示事件是在 compositionstart 之后且 compositionend 之前触发的。
示例此示例在您更改 元素的值时记录该值。
HTMLhtml
JavaScriptjsconst input = document.querySelector("input");
const log = document.getElementById("values");
input.addEventListener("input", updateValue);
function updateValue(e) {
log.textContent = e.target.value;
}
结果规范规范UI 事件 # event-type-inputHTML 标准 # handler-oninput浏览器兼容性BCD 表仅在浏览器中加载
另请参阅
相关事件
beforeinput
change
invalid