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); }