Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS错误对象没有addEventListener方法_Javascript - Fatal编程技术网

Javascript JS错误对象没有addEventListener方法

Javascript JS错误对象没有addEventListener方法,javascript,Javascript,我有以下代码 var el = document.querySelectorAll('.block'); console.log(el); el.addEventListener('click', function () { alert('hello'); }, false); 但是,它返回一个错误uncaughttypeerror:Object#没有方法'addEventListener' 为什么会出现此错误以及如何解决此问题?因为,正如错误消息告诉您没有的那样,您应该迭代节点列表,

我有以下代码

var el = document.querySelectorAll('.block');
console.log(el);
el.addEventListener('click', function () {
    alert('hello');
}, false);
但是,它返回一个错误
uncaughttypeerror:Object#没有方法'addEventListener'


为什么会出现此错误以及如何解决此问题?

因为,正如错误消息告诉您没有的那样,您应该迭代节点列表,并向其中的每个元素添加
addEventListener
——假设您要添加N个侦听器

或者,代码的其余部分将按编写的方式工作。

该方法返回一个节点集合

因此,您需要迭代它以附加事件侦听器

var el = document.querySelectorAll('.block');
for(var i=0; i < el.length; i++){
    el[i].addEventListener('click', function () {
        alert('hello');
    }, false);
}
var el=document.querySelectorAll('.block');
对于(变量i=0;i
querySelectorAll返回节点列表(类似于dom节点的数组集合),您不能将事件侦听器附加到此列表。您必须循环它们并将事件处理程序附加到各个dom节点