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

Как лучше использовать removeEventListener?

Всем привет, устанавливаю листенеры в функции:
addListeners(): void {
    const menuBbtn = document.querySelector('.top-menu');
    const btnGarageNext = document.querySelector('#btn-garage-next');
    const btnGaragePrev = document.querySelector('#btn-garage-prev');
    if (btnGarageNext !== null) {
      btnGarageNext.addEventListener('click', this.onButtonGarageNext.bind(this));
    }
    if (btnGaragePrev !== null) {
      btnGaragePrev.addEventListener('click', this.onButtonGaragePrev.bind(this));
    }
    if (menuBbtn !== null) {
      menuBbtn.addEventListener('click', this.onButtonMenu.bind(this));
    }
  }


И мне потом нужно их удалить т.к страница будет перерендериваться, написал вот так:
removeListeners(): void {
    const menuBbtn = document.querySelector('.top-menu');
    const btnGarageNext = document.querySelector('#btn-garage-next');
    const btnGaragePrev = document.querySelector('#btn-garage-prev');
    if (btnGarageNext !== null) {
      btnGarageNext.removeEventListener('click', this.onButtonGarageNext);
    }
    if (btnGaragePrev !== null) {
      btnGaragePrev.removeEventListener('click', this.onButtonGaragePrev);
    }
    if (menuBbtn !== null) {
      menuBbtn.addEventListener('click', this.onButtonMenu.bind(this));
    }
  }

Но что-то мне так не нравится, я постоянно повторяю объявленные листенеры, а если их будет много .....
Подскажите плз., как лучше и правильно сделать удаление листенеров?
  • Вопрос задан
  • 122 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
  • Skypro
    JavaScript-разработчик с нуля
    9 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы