【发布时间】:2020-11-29 08:32:28
【问题描述】:
我正在尝试使用一个事件侦听器,该侦听器仅在启动其他事件侦听器后才起作用,但是当我按照我的代码中给出的那样执行时它不起作用,但是当我使用单个事件侦听器时代码起作用。
代码:
function changeColor(){
let slab=document.querySelector('.container');
slab.addEventListener('onclick',function activateOnMouseClick(){
let slab=document.querySelectorAll('div .item');
slab.forEach((slabs)=>
slabs.addEventListener('mouseover',function changeGridColor(){
slabs.setAttribute('style','background: blue; font-size:30px; text-align: center; border:0px solid white');
}));
});
}
这段代码应该做的是,当我点击一个项目时,它应该激活 mouseover 事件侦听器,然后更改该项目的颜色。
live(仅使用鼠标悬停):[工作][1]
当您将鼠标悬停在矩形中时,瓷砖会改变颜色,但我想要的是它们只有在我第一次使用鼠标单击激活鼠标悬停时的颜色变化时才会改变颜色。 [1]:https://utsavj.github.io/etch-a-sketch/
【问题讨论】: