Javascript 为什么我的onMouseOver效应不起作用?

Javascript 为什么我的onMouseOver效应不起作用?,javascript,function,for-loop,dom-events,Javascript,Function,For Loop,Dom Events,正如标题所述,我的onMouseOver事件侦听器不工作。我能够在CSS中创建一个“hover”伪类,并让它以这种方式工作,但我想创建一个事件监听器使其工作 代码: let container=document.getElementById('container'); //函数创建16x16网格 函数gridSquares(){ 对于(x=0;x

正如标题所述,我的
onMouseOver
事件侦听器不工作。我能够在CSS中创建一个“hover”伪类,并让它以这种方式工作,但我想创建一个事件监听器使其工作

代码:

let container=document.getElementById('container');
//函数创建16x16网格
函数gridSquares(){
对于(x=0;x<256;x++){
设squares=document.createElement('div');
squares.className='grid squares';
容器。子容器(正方形);
//鼠标悬停在每个网格的事件侦听器上
squares.addEventListener('onmouseover',函数(){
const gridSquare=document.getElementsByClassName('grid-square');
setAttribute('style','background:yellow');
});
}
}
网格正方形();
我在HTML中创建了一个ID为“container”的div

有什么想法吗?

很肯定没有

squares.addEventListener('onmouseover', function() {...
但是:

squares.addEventListener('mouseover', function() {...

您应该删除事件侦听器中的“on”

删除“on”。将其声明为
mouseover
。“on”位用于事件的内联声明。我也看到了@JackyShows在下面提到的内容。^^谢谢你,巴德,我完全错过了,它现在可以工作了!使用浏览器的开发工具,在控制台上查找错误。例如,getElementsByClassName返回元素的集合,而不是单个元素。True@AHaworth。操作码是如何工作的。正如您所提到的,
gridSquare
将是一个集合。OP如何规避这一点。也许只是说它有效?哈哈。世界。嘿,伙计们-我也意识到了这一点,我修改了代码。将其更改为'squares.style.cssText='background:yellow';在这种情况下,监听器。我只是使用上面的变量,因为它在for循环中。顺便说一句,我是一个新手lol。在一个Odin任务中工作
squares.addEventListener('mouseover', function() {...