Если называть переменные по логике, то все станет ясно.
const elements = document.querySelectorAll('.ch')
const show = (Event) => {
console.log('Навел!');
// ошибка. elements - коллекция, а element вообще здесь не определен
elements.classList.add('bgc');
}
elements.forEach(element =>{
element.addEventListener('mouseover', show)
})
Чувствуете разницу?
Можно написать так:
const elements = document.querySelectorAll('.ch')
elements.forEach(element => {
element.addEventListener('mouseover', event => {
console.log('Навел!');
element.classList.add('bgc')
})
})
Или так
const elements = document.querySelectorAll('.ch')
const show = (event, element) => {
element.classList.add('bgc')
}
elements.forEach(element => {
element.addEventListener('mouseover', event => {
show(event, element)
})
})
Или так
const elements = document.querySelectorAll('.ch')
const show = event => {
event.currentTarget.classList.add('bgc')
}
elements.forEach(element =>{
element.addEventListener('mouseover', show)
})