Задать вопрос
  • Удалить прослушивание события в классе?

    Artiiiii
    @Artiiiii Автор вопроса
    Junior-front-end
    Метод внутри класса нужно записать в функцию, если кому будет нужно.

    class Temp {
      constructor(parent) {
        this.parent = parent;
        this.title = this.parent.querySelector('.title');
        this.overlay = this.parent.querySelector('.overlay');
    
        const show = () => this.show();
    
        this.title.addEventListener('mouseover', show);
        this.overlay.addEventListener('mouseout', show);
    
        this.overlay.addEventListener('click', () => {
          this.title.removeEventListener('mouseover', show);
          this.overlay.removeEventListener('mouseout', show);
          show();
        });
      }
    
      show() {
        if (!this.overlay.classList.contains('overlay--visible')) {
          this.overlay.classList.add('overlay--visible');
        } else {
          this.overlay.classList.remove('overlay--visible');
        }
      }
    }
    
    let temp = document.querySelector('.container');
    new Temp(temp);
    Ответ написан
    Комментировать