Дмитрий
Гуру
(3788)
4 года назад
скорей всего не найден ни один элемент и b = undefined. Это можно проверить, если вывести в консоль console.log(b)
ДмитрийГуру (3788)
4 года назад
понятно, там массив. Нужно их перебрать просто в цикле
b.forEach(element => {
element.addEventListener("click", xxx(element))
})
function xxx(element) {
return function () {
element.style.background = "black"
}
}
ДмитрийГуру (3788)
4 года назад
потому что нет доступа к "a" внутри метода start. Нужно его прокинуть, передав в качестве параметра ("click", start(a)), Но если мы так сделаем, то start будет вызываться сразу при навешивании, а нам нужно, чтобы он вызывался после нажатия. Поэтому внутри start нужно вернуть новую функцию con start = (a) => {
return () => {
// все остальное
}
}
ДмитрийГуру (3788)
4 года назад
я неверно написал, имел ввиду не "a", а "a[i]", т. к. a - это массив, а нам нужен элемент - их мы получаем при переборе массива
("click", start(a[i]))
con start = (element) => {
return () => {
// все остальное
}
}
и
Cannot set property 'background' of undefined