Polymer 聚合-如何一次将事件绑定到一组按钮
但它只适用于第一个核心项目,如何解决这个问题 也试过了Polymer 聚合-如何一次将事件绑定到一组按钮,polymer,Polymer,但它只适用于第一个核心项目,如何解决这个问题 也试过了 var menulink = document.querySelector('.menu-link'); menulink.addEventListener('click', function(){ console.log(this.label); }); 但我得到了未捕获的TypeError:未定义不是函数 但它只适用于第一个核心项目,如何解决这个问题 这是因为,正如Peter Burns评论的那样,qu
var menulink = document.querySelector('.menu-link');
menulink.addEventListener('click', function(){
console.log(this.label);
});
但我得到了未捕获的TypeError:未定义不是函数
但它只适用于第一个核心项目,如何解决这个问题
这是因为,正如Peter Burns评论的那样,querySelector
只返回第一个匹配元素,而忽略其他元素
也尝试了[querySelectorAll
],但我得到了未捕获的TypeError:undefined不是一个函数
这是因为querySelectorAll
返回匹配元素的数组,而addEventListener
不是附加到数组对象的方法,而是附加到数组中包含的每个单独元素。为了克服这个问题,我们需要循环遍历每个返回的元素,并为每个元素分配事件侦听器:
var menulink = document.querySelectorAll('.menu-link');
menulink.addEventListener('click', function(){
console.log(this.label);
});
var menulinks=document.querySelectorAll('.menu-link');
对于(变量i=0;i
文档。queryselector所有
都应该可以工作。你能发布一个jsbin来演示错误吗?是的,它可以工作,但是当我添加像menulink.addEventListener这样的事件时,我得到了未捕获的TypeError:undefined不是一个函数。顺便说一句,如何在jsbin中导入html?谢谢,问题解决了。这是处理这个问题的常用方法吗?
var menulink = document.querySelectorAll('.menu-link');
menulink.addEventListener('click', function(){
console.log(this.label);
});
var menulinks = document.querySelectorAll('.menu-link');
for (var i = 0; i < menulinks.length; i++)
menulinks[i].addEventListener('click', function(){
console.log(this.label);
});