Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polymer 聚合-如何一次将事件绑定到一组按钮_Polymer - Fatal编程技术网

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);            
    });