Javascript变量不适用于addeventlistener?

时间:2015-01-05 09:37:55

标签: javascript

我正在尝试在javascript中创建变量,但我收到Uncaught TypeError以下行:infoButton.addEventListener('mousedown', buttonDown, false);。 当我删除上面的行时,我会收到错误,但现在不会。

我在主体上调用了loadScript:<body onload="loadScript()">

JS:

function loadScript() {
    onDeviceReady();
};

// When device is ready (event listeners)
function onDeviceReady() {

    // Button variable
    var infoButton = document.getElementsByClassName('info');

    // Pages
    var introPage = document.getElementById('introduction');

    // Button events
    // Button info
    infoButton.addEventListener('mousedown', pageInfoShow, false);

    alert(infoButton);

};


// Page functions
function pageInfoShow() { 
    introPage.className = "";
};

我错了什么?我不能将变量与addEventListener一起使用吗?

1 个答案:

答案 0 :(得分:4)

getElementsByClassName包含单词“elements”,它是复数形式。它返回一个NodeList(就像一个数组)而不是一个元素。

您需要在NodeList中的每个值上调用addEventListener,而不是在NodeList本身(未定义它)上。