@Kryptonit

Как это сделать на ЧИСТОМ js?

Мне нужно навесить обработчик события клика на каждый li из меню ul:
(не тупо на каждый отдельный элемент)
<ul class = "list">
                    <li class="li active">главная</li>
                    <li class="li">навыки</li>
                    <li class="li">опыт</li>
                    <li class="li">портфолио</li>
                    <li class="li">контакты</li>
                </ul>

На форумах ответы есть, но их, на мой взгляд, мало и зачастую нет объяснения.
Впоследствии этот html будет использован для создания якорных ссылок на js.(На html меня не устраивает по ряду причин).
Прошу прикрепить код с понятным объяснением
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
@Vearodev
Пример через делегирование


Либо через цикл, на каждый отдельный элемент
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Snova_s_vami
@Snova_s_vami
JavaScript ES5-8, TypeScript, Angular
Вот небольшой пример в песочнице с использованием старого JavaScript.
Ссылка на песочницу
Вешать на каждый элемент списка не советую, ведь их может быть очень много и это плохо отразится на производительности, поэтому существует такая вещь как делегирование события, это когда мы вешаем 1 слушатель на родительский элемент и проверяем где сделан клик. В примере из песочницы именно так и сделано.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы