【发布时间】:2013-11-08 10:17:52
【问题描述】:
我目前正在尝试编写一些 JavaScript 来获取已单击类的属性。我知道要以正确的方式做到这一点,我应该使用事件侦听器。 我的代码如下:
var classname = document.getElementsByClassName("classname");
var myFunction = function() {
var attribute = this.getAttribute("data-myattribute");
alert(attribute);
};
classname.addEventListener('click', myFunction(), false);
我希望每次单击其中一个类来告诉我属性时都会收到一个警告框,但不幸的是这不起作用。有人可以帮忙吗?
(注意 - 我可以在jQuery 中轻松做到这一点,但我不喜欢使用它)
【问题讨论】:
-
添加事件侦听器的代码有问题。 addEventListener 采用事件名称('click')、对函数的引用(不是现在通过使用括号调用 myFunction() 得到的函数结果)和一个指示事件冒泡的标志。 addEventListener 调用应如下所示: elem.addEventListener('click', myFunction, false) 并且 classname 是 NodeList 类型。需要遍历所有元素并将侦听器附加到列表中的每个元素。
标签: javascript dom-events