【发布时间】:2020-06-13 05:38:27
【问题描述】:
我们如何在代码的每个项目上只添加一次事件监听器,在 react 中进行状态管理很容易,但是我们如何在普通的旧 javascript 中做到这一点
<div class="grid-container" id="ad">
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
<div class="grid-item" ></div>
</div>
let divs = document.querySelectorAll(".grid-item")
for(let i=0;i<divs.length;i++) {
divs[i].addEventListener("click", function() {
divs[i].style["background-color"] = "red";
});
}
【问题讨论】:
-
grid-item中没有文字或什么都没有,那么您将在哪里处理点击?? -
从被点击的 div.grid-item 或所有 div.grid-item 上删除
eventListener?
标签: javascript css dom css-selectors dom-events