Всем привет. Тренируюсь в создании интерфейсов и возник вопрос... Как правильно обрабатывать события?
Точнее как правильно и грамотно написать код, когда элементов куда можно нажать очень много.
Пока вижу 2 варианта и хочу узнать может есть какой-то идеальный способ для реализации.
1. Для каждого элемента куда можно нажать создать отдельный addEventListener
В итоге получится тьма повторяющихся строчек
2. Создать один addEventListener который будет вызывать функцию при любом нажатии, которая вытаскивает id элемента, если есть, и ищет совпадение этого id в массиве всех id. Затем если есть совпадение - вызывается соответствующую функцию этому id.
Как-то так :DD надеюсь объяснил более-менее понятно.
Очень жду ответов по этому поводу, заранее спасибо!
Почитайте про всплытие событий и паттерн "behavior".
Суть проста: на родительский блок вешается обработчик всплывающего события, в котором проверяется target/currentTarget и на основании их значений уже выполняются нужные действия.
В целом конечно же лучше всегда использовать подход, где с меньшим количества повторяющегося кода вы элегантно обрабатываете большее кол-во действий.
Хочу лишь заметить, что в профессиональной ЖС-разработке почти нет случаев когда у вас есть одна страница со множеством элементов и один скрипт где вы все это описываете.
Профессиональная разработка предполагает использование фреймворков и библиотек с разбиением на компоненты, модули, виджеты, общающиеся между собой и организующиеся в одну систему и такие вопросы там не стоят.