2015-10-16 37 views
-6

我有HTML這樣的addEventListener不是函數

<p class="trigger-overlay"> 

,但得到的addEventListener的錯誤不是一個函數

function toggleOverlay(){alert('fire');}; 
var triggerBttn = document. getElementsByClassName('trigger-overlay'); 
triggerBttn.addEventListener('click', toggleOverlay); 

我用的ID和它的工作,但我希望能夠到觸發多個類。

function toggleOverlay(){alert('fire');}; 
var triggerBttn = document. getElementById('trigger-overlay'); 
triggerBttn.addEventListener('click', toggleOverlay); 
+0

爲什麼空間'文件。 getEl' – Tushar

+1

'getElementsByClassName'返回一個沒有'addEventListener'方法的html集合對象 –

+7

[你有多個帳戶嗎?或者你們都在做同樣的功課?](http://stackoverflow.com/q/33166233/1249581) – VisioN

回答

2

功能getElementsByClassName方法將返回HTML元素的集合,使得使用索引來訪問每個元素返回。

for(i=0; i < triggerBttn.length; i++) 
    triggerBttn[i].addEventListener('click', toggleOverlay); 

要使用jQuery做它,你可以不喜歡

$('.triggerBttn').click(toggleOverlay); 
+0

這就是爲什麼我要寫jQuery –

+0

@MaySun:那就這麼做。有[很多](http://api.jquery.com)信息[告訴你如何](http://learn.jquery.com/) –

相關問題