2014-02-20 59 views
1

我有下面的代碼JS錯誤對象有沒有方法的addEventListener

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

但是,它返回一個錯誤Uncaught TypeError: Object #<NodeList> has no method 'addEventListener'

爲什麼會出現這個錯誤,我怎麼能解決這個問題呢?

+0

querySelectorAll返回一個節點列表(如DOM節點的集合數組),你可以不是一個事件監聽連接到此。您將不得不循環它們並將事件處理程序附加到單個的dom節點 –

回答

3

你應該遍歷節點列表

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