我有以下代码
<div class="test">Click Me</div>
<script>
document.getElementsByClassName('test').addEventListener('click', function(){
alert('Hello world');
}, false);
警报未触发。 JS小提琴:http://jsfiddle.net/ssod54fh/
答案 0 :(得分:1)
迭代每个元素和bind
事件,
[].forEach.call(document.getElementsByClassName('test'),function(elm){
elm.addEventListener('click', function(){
alert('Hello world');
}, false);
});
基本上getElementsByClassName
会返回nodeList
。这意味着节点Object的集合。 node对象在其原型中具有addEventListener函数但不是nodeList。