如何对所有元素使用onChange
或类似的事件?form
我不想onChange
分别用于每个字段。
问问题
75730 次
2 回答
98
您可以在元素上使用change
事件:form
var form = document.querySelector('form');
form.addEventListener('change', function() {
alert('Hi!');
});
于 2018-08-14T17:10:53.657 回答
41
如果您使用 jQuery,您可以change
在表单元素上使用事件,因为在 jQuery 中事件会冒泡。
$('#formId').change(function(){...});
如果您使用的是纯 JavaScript,则更改事件不会冒泡(至少不会跨浏览器)。因此,您必须将事件处理程序分别附加到每个输入元素:
var inputs = document.getElementsByTagName("input");
for (i=0; i<inputs.length; i++){
inputs[i].onchange = changeHandler;
}
(当然,您必须对所有选择和文本区域做类似的事情)
于 2012-05-25T20:24:25.343 回答