L'objet d'erreur JS n'a pas de méthode addEventListener

J'ai le code suivant

var el = document.querySelectorAll('.block'); console.log(el); el.addEventListener('click', function () { alert('hello'); }, false); 

Cependant, il renvoie une erreur Uncaught TypeError: Object #<NodeList> has no method 'addEventListener'

Pourquoi est-ce que je reçois cette erreur et comment puis-je résoudre ce problème?

Parce que, exactement comme le message d'erreur vous indique que NodeList s n'a pas de méthode addEventListener . Vous devriez itérer sur le nodelist, et addEventListener à chaque élément à l'intérieur – en supposant que vous souhaitez ajouter N auditeurs.

Alternativement, sélectionnez uniquement un élément unique , et le reste de votre code fonctionnera comme il est écrit.

Vous devriez itérer sur le nodelist

 var el = document.querySelectorAll('.block'); console.log(el); for(var i=0; i < el.length; i++){ el[i].addEventListener('click', function () { alert('hello'); }, false); }