Всем привет
Я хочу реализовать класс, который будет навешивать обработчики событий на эл-ы DOM-дерева и хранить в себе состояния этих же элементов (открыто, закрыто, выбрано и т.д.)
Т.е. это будет выглядеть как-то так:
class Manager {
constructor(params) {
this.params = params;
}
addEventListenerToBlock(){
document.getElementById('id').addEventListener('click', function (){...});
}
}
Как отследить, что я не навешу сразу несколько одинаковых слушателей на один элемент?
Я нашёл решения только для откладки кода в браузере, а вот как получить это в коде не знаю. Будет ли грамотным решением просто завести булеву переменную на каждый слушатель и инвертировать её, когда слушатель "навешан"?