Задать вопрос
godsplan
@godsplan

Как избавиться от множественного повторения forEach?

https://codepen.io/poylar/pen/GRrqeJV?editors=1111

Пытался сделать попап на классе, вопрос в заголовке.
  • Вопрос задан
  • 156 просмотров
Подписаться 1 Простой 9 комментариев
Пригласить эксперта
Ответы на вопрос 1
@lolzqq
HTML,CSS,JS,PHP
godsplane, на своём опыте столкнулся с тем, что назначать, к примеру прослушиватели события click() на 250 элементов при загрузке страницы - это подвешивать её на 10-15 секунд в небытие
Подвешивайте событие на <body>, а в обработчик передаёте нажатый элемент, распознаёте его, и, если был нажат нужный элемент - то делаете что-то дальше - фактически вешается один прослушиватель, никаких подвисонов, лагов и forEach для этого.

Код, типа такого:
document.querySelector('body').addEventListener('click', function(e) {
   // e.target кликабельный элемент
   // определяем, необходимый ли это эелемент
   if(e.target && (e.target.className.search('needed-element')!== -1){
      // тут работаем дальше с e.target или чем хотите
   }
}


P.S. при зажатии ЛКМ на кнопке Открывать - попап сворачивается, а если отпустить ЛКМ - снова разворачивается. Это баг или фича?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 16:42
2000 руб./за проект
18 дек. 2024, в 16:33
2000 руб./в час
18 дек. 2024, в 16:06
5000 руб./за проект