如何对所有
change
元素使用 form
或类似事件?我不想对每个字段分别使用 change
。
您可以在
change
元素上使用 form
事件:
const form = document.querySelector('form');
form.addEventListener('change', function() {
alert('Hi!');
});
如果您使用 jQuery,则可以在表单元素上使用
change
事件,因为在 jQuery 中该事件会冒泡。
$('#formId').change(function(){...});
如果您使用纯 JavaScript,则更改事件不会冒泡(至少不会跨浏览器)。 因此,您必须分别将事件处理程序附加到每个输入元素:
var inputs = document.getElementsByTagName("input");
for (i=0; i<inputs.length; i++){
inputs[i].onchange = changeHandler;
}
(当然,您必须对所有选择和文本区域执行类似的操作)