尝试向类添加事件侦听器时遇到了问题。
基本上我希望它能够在类' col'的时候执行一些JS代码。点击
document.getElementByClassName("col").addEventListener("click", randomOutput);
function randomOutput(){
alert("Test");
}
它实际上不执行randomOutput函数而是抛出错误。 ' undefined不是函数'。
答案 0 :(得分:2)
您正在尝试将addEventListener()
链接到document.getElementByClassName("col");
的结果。 document.getElementByClassName
无效,应为document.getElementsByClassName
。
(function () {
var randomOutput = function {
alert("Test");
}
var els = document.getElementsByClassName("col");
for (var i = 0; i < els.length; i++) {
els[i].addEventListener("click", randomOutput);
}
})();
答案 1 :(得分:0)
除了您需要在将函数randomOutput
分配给侦听器之前定义它。
我也看到getElementByClassName
不是函数,应该是getElementsByClassName
。
最后,您只能向一个元素添加事件侦听器。因此,您必须使用document.getElementsByClassName("col")[0].addEventListener("click", randomOutput);
或编写一些代码来遍历每个元素并添加侦听器。