添加事件监听器不适合我

时间:2017-07-18 02:34:39

标签: javascript function addeventlistener

我是javascript的初学者,对基本问题感到遗憾。 我写了一个事件监听器,在按下按钮时调用一个函数。 我不能让它工作。由于代码现在坐着,口译员告诉我 第8行,addEventListener代码,不是一个函数,它不起作用 在我的页面上。有任何想法吗?谢谢!

function createNewList() {

var displayNow = document.getElementById('listSectionMain');
displayNow.setAttribute('class', 'hideThis');
}

var butt = document.getElementsByClassName('buttonMain');
butt.addEventListener('click', function() {
createNewList() }
, false);

2 个答案:

答案 0 :(得分:3)

将行更改为

var butt = document.getElementsByClassName('buttonMain')[0];

按类名获取元素实际上返回一个数组

编辑: 这将满足您的需求。

var butt = document.getElementsByClassName('buttonMain');
for(i=0;i<butt.length;i++){
  butt[i].addEventListener("click", createNewList);
}

答案 1 :(得分:0)

getElementsByClassName返回一个类似数组的对象

你可以这样使用它......

function createNewList() {
    var displayNow = document.getElementById('listSectionMain');
    displayNow.setAttribute('class', 'hideThis');
}

var butt = document.getElementsByClassName('buttonMain');

butt[0].addEventListener("click", myFunction);

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

在这里你JSFiddle