@kirillleogky

Как добавить одинаковые обработчики событий на разные элементы?

Есть код:
prewColor.addEventListener('click', (event) => {
  currColor.style.backgroundColor = `${getComputedStyle(event.target).backgroundColor}`;
});

redColor.addEventListener('click', (event) => {
  currColor.style.backgroundColor = `${getComputedStyle(event.target).backgroundColor}`;
});

blueColor.addEventListener('click', (event) => {
  currColor.style.backgroundColor = `${getComputedStyle(event.target).backgroundColor}`;
});


Можно ли каким-нибудь образом повесить одинаковые обработчики на данные элементы?

Чтобы код выглядил похожим образом (чтобы не писать один и тот же код):
prewColor.
redColor.
blueColor.addEventListener('click', (event) => {
  currColor.style.backgroundColor = `${getComputedStyle(event.target).backgroundColor}`;
});

не используя делегирование
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
erge
@erge
Примус починяю
[prewColor, redColor, blueColor].forEach(el => el.addEventListener('click', e => {
  // код обработчика
}));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Ibishka
function exam(elem) {
elem.addEventListener('click', (event) => {
  currColor.style.backgroundColor = `${getComputedStyle(event.target).backgroundColor}`;
});
}
exam('prewColor');
exam('redColor');
exam('blueColor');
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 20:43
20000 руб./за проект
19 апр. 2024, в 20:11
500 руб./за проект