window object внутри js класса

137
08 августа 2021, 15:10

Имеется js class. Возможно ли внутри класса отслеживать изменился размер window или нет, и если изменилось применять метод класса? Проблема: в классе создаются span элементы на определенных позициях, а при ресайзе окна метки сдвигаются. Хотел очищать метки при изменении окна, но внутри класса. Подскажите советом.

Answer 1

Свою проблему решил, добавив в имеющийся метод init обработчик для window. Вдруг кому-то поможет.

class Test { 
  constructor() { 
    this.x = 10; 
  } 
  init() { 
    const mark = document.createElement('span'); 
    mark.className = 'ttt'; 
    mark.innerHTML = 'test' + this.x;  
    document.body.appendChild(mark); 
    // Если изменили размер окна 
    window.addEventListener('resize', this.f = this.destroy.bind(this));  
  } 
  destroy() { 
    const mark = document.querySelectorAll('.ttt'); 
    mark.forEach(element => { 
      element.remove(); 
    }); console.log(this.f); 
    window.removeEventListener('resize', this.f);  
  } 
   
} 
 
const t = new Test(); 
t.init();
.ttt { 
  color:red; 
}

READ ALSO
Jest component mock with enzyme shallow toMatchSnapshot

Jest component mock with enzyme shallow toMatchSnapshot

Пытаюсь сделать проверку компонента по snapshot-у с помощью enzymeshallow

133
Вывести аттрибут родителя Jquery

Вывести аттрибут родителя Jquery

где ошибся, пытаюсь вывести атрибут родителя, но выдает undefined

265
Как получить доступ к iframe с видеороликом?

Как получить доступ к iframe с видеороликом?

Как при вызове всплывающего окна с видеороликом из YouTube (новый fancybox 35

138
При наведении на иконку выводить дропдаун

При наведении на иконку выводить дропдаун

Список в котором три пункта:

106