简体   繁体   English

为什么 addEventListener 点击不显示数据集?

[英]why addEventListener click doesnt display dataset?

Im trying to make this code work but when I click on the selected .grid-element the addEventListener doesnt do what it supposed to do (display the data-number on .screen ).我试图让这段代码工作,但是当我点击选定的.grid-element时, addEventListener没有做它应该做的事情(在.screen上显示数据编号)。

 let display = document.querySelector(".screen"); let numberPress = document.querySelector(".grid-element"); numberPress.addEventListener("click", function(){ display.innerHTML = numberPress.dataset.number; });
 <div class="screen">0</div> <div class="grid-container"> <button class="grid-element" data-number>7</button> <button class="grid-element" data-number>8</button> <button class="grid-element" data-number>9</button> </div>

Add a handler per.grid-element:为 per.grid-element 添加一个处理程序:

document.querySelectorAll(".grid-element").forEach((gridElement) => {
  gridElement.addEventListener("click", function(){
    display.innerHTML = numberPress.dataset.number;
  });
});

It's because data-number has no value.这是因为 data-number 没有价值。 I edited your js code little bit and change querySelector to querySelectorAll because you need to select multiple items.我稍微编辑了您的 js 代码并将 querySelector 更改为 querySelectorAll 因为您需要 select 多个项目。

 document.querySelectorAll(".grid-element").forEach((x) => x.addEventListener("click", function(){ document.querySelector(".screen").innerHTML = x.dataset.number }) );
 <div class="screen">0</div> <div class="grid-container"> <button class="grid-element" data-number="7">7</button> <button class="grid-element" data-number="8">8</button> <button class="grid-element" data-number="9">9</button> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM