Javascript为类中的所有复选框添加事件监听器

标签 javascript

我正在尝试为类中的所有复选框添加事件监听器。我能够将事件监听器添加到类中。如何添加到该类中的所有复选框?

var classname = document.getElementsByClassName("classname");

var myFunction = function() {
    var attribute = this.getAttribute("data-myattribute");
    alert(attribute);
};

for (var i = 0; i < classname.length; i++) {
    classname[i].addEventListener('click', myFunction, false);
}

最佳答案

自 JS 事件 bubble up to parent elements您只需将一个事件监听器附加到父元素,它就会捕获由其子元素触发的每个事件。

document.querySelector('#container').onclick = function(ev) {
  if(ev.target.value) {
    console.log(ev.target.checked, ev.target.value);
  }
}
<div id="container">
  <input type="checkbox" value="Bike">I have a bike<br>
  <input type="checkbox" value="Car">I have a car<br>
  <input type="checkbox" value="Flower">I have a flower<br>
</div>

关于Javascript为类中的所有复选框添加事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47518017/

相关文章:

javascript - 设置存储在变量中的元素的属性

javascript - 尝试在按钮单击时获取随机数

javascript - 将一系列 promise 集成到现有链中

javascript - 如何从reactJS另一个模块中的文本字段访问值

Javascript,在函数中将类型作为参数传递

javascript - Angular ui-router 中的绝对名称

javascript - Node.js 事件发射器 : How to bind a class context to the event listener and then remove this listener

javascript - 如何让类别字段变小

javascript - 无法使用 $pull (Mongoose) 删除用户模型数组中的对象

javascript - 更新 ID 和 jQuery 事件处理程序时出现问题