[英]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.