我正在尝试在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一起使用吗?
答案 0 :(得分:4)
getElementsByClassName
包含单词“elements”,它是复数形式。它返回一个NodeList(就像一个数组)而不是一个元素。
您需要在NodeList中的每个值上调用addEventListener
,而不是在NodeList本身(未定义它)上。