开发者问题收集

未捕获的类型错误:input.addEventListener 不是一个函数

2019-04-13
14789

首先,我选择了触点表单容器中的所有输入标签,然后添加了单击事件侦听器并调用函数。那行不通。

它引发了一个错误,说: undurect type. input.addeventlistener不是函数。

534216103 749373570 097048176
3个回答

根据 https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll

document.querySelectorAll 返回一个数组形式的 nodeList。因此,您无法通过这种方式将 eventListener 分配给所有对象。您必须

input.forEach( inp => inp.addEventListener(...))
AhmadDeel
2019-04-13

Element.querySelectorAll() 返回类似数组的 NodeList ,可以通过 forEach() 进行迭代。

const input = document.querySelectorAll(`.form-container input`);

input.forEach( function(element){
    element.addEventListener(`click`,function(){
        console.log(`clicked`);
    });
});

Darkborderman
2019-04-13
const listOfInput = document.querySelectorAll('.form-container input')

for (let input of listOfInput) {
  input.addEventListener('click', function () {
    console.log('che che che');
  });
}
hackape
2019-04-13