2015-12-29 152 views
0

我想添加一個onClick事件到我在這裏創建的按鈕:https://makerlist.io/smart-feature-finder/。我添加了「你好,世界!」當點擊按鈕來測試它時出現的語句。這裏是我正在使用的代碼,但沒有出現。關於我失蹤的任何想法?JavaScript的onClick事件函數

document.getElementsByClassName(".esg-filterbutton").addEventListener("click", myFunction); 

function myFunction() { 
    alert ("Hello, World!"); 
} 

謝謝,

Jonahan

回答

1

你選擇器返回一個稱爲HTMLCollection不是一個單一的元件的陣列狀物體。

嘗試,

document.getElementsByClassName("esg-filterbutton")[0].addEventListener("click", myFunction); 

通知我抓住了第一個元素數組中?

另外我刪除了類名前的.。當您指定要在功能中選擇一個班級時,您不需要輸入.

+0

技術上講,它是不是一個數組,它是一個活[的HTMLCollection](https://developer.mozilla.org/en-US/docs/Web/API/的HTMLCollection)。 – epascarello

+0

@epascarello它是一個類似數組的對象。 Array只是我用外行人的方式解釋它的方式。感謝您的鏈接。 – Script47

+0

作品!謝謝@ Script47。 –

0

如果您希望將事件應用於所有按鈕,則可以將click事件綁定到類esg-filterbutton的元素。

$('.esg-filterbutton').click(function() 
{ 
    alert ("Hello, World!"); 
}); 

下面是一個例子:https://jsfiddle.net/DinoMyte/Lb1wj47j/