javascript - 如何获取点击查询的值?

标签 javascript

我有一些 html 元素,每个元素都有 onclick 属性。并且每个 onclick 属性的值都不同。我想获得点击的值(value)。

<div class="test" onclick="something1">Lorem ipsum</div>
<div class="test" onclick="something3">Lorem ipsum</div>
<div class="test" onclick="something2">Lorem ipsum</div>

window.addEventListener('click', function(e) {
   var test = document.querySelector(`.test[onclick="${e}"]`);
   console.log(test) 
}) 

这里我只想得到被点击的div的onclick值。

最佳答案

为什么不直接将事件绑定(bind)到所需的元素。

Array.from(document.querySelectorAll('.test')).forEach(e => {
  // Add a data-attribute to store the current onclickvalue.
  e.dataset.onclickvalue = e.getAttribute('onclick'); // gets the attribute value.
  e.onclick = ""; // this is to avoid an event call.
  
  e.addEventListener('click', function() {
    console.log(this.dataset.onclickvalue);
  })
});
<div class="test" onclick="something1">Lorem ipsum</div>
<div class="test" onclick="something3">Lorem ipsum</div>
<div class="test" onclick="something2">Lorem ipsum</div>

关于javascript - 如何获取点击查询的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55554254/

相关文章:

javascript - 使用 Javascript 在数组数组中搜索第一个索引

javascript - window.location.href、window.location.replace 和 window.location.assign 之间的区别

javascript - 如何获取数组中的唯一值

javascript - 哪个 JavaScript 图形库的性能最好?

javascript - 如何在 TypeScript 中映射多个类型的数组?

javascript - 波斯数字的正则表达式

javascript - jQuery 切换链接

javascript - 使用 Restangular 并尝试将多个参数设置为 $scope 中的 var

javascript - TypeError : Cannot read property 'name' of undefined, 但使用另一个属性就可以了

javascript - 如何在 Opencart 3.0 中按 sku 或按型号将产品添加到购物车