
html重置按钮导致oninput事件失效的解析
以下代码演示了一个文本输入框和一个重置按钮:
let input = document.getElementsByTagName("input")[0];
input.oninput = function () {
console.log(this.value);
};
let reset = document.querySelector('input[type="reset"]');
reset.onclick = function () {
setTimeout(function () {
console.log(input.value);
}, 2000);
};
当在文本框中输入内容后,点击重置按钮,你会发现oninput事件并未触发。这是因为HTML规范规定,重置元素(如重置按钮)的重置行为不视为用户触发的更改,因此不会触发input事件。
规范明确指出:重置元素的重置算法对表单控件的更改不触发输入事件。
所以,使用重置文本框时,oninput事件不会被触发。
立即学习“前端免费学习笔记(深入)”;











