@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}`;
});

не используя делегирование
  • Вопрос задан
  • 96 просмотров
Решения вопроса 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');
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 01:31
1500 руб./за проект
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект