Как заставить один метод выполняться после другого?

У меня клонируется список из селекта (для возможности стилизации). И мне нужно повесить на уже склонированный список еще один метод, но этот метод должен выполняться именно после того как отрендериться список, так как до рендера списка вообще не существует в дереве DOM.
Хотелось бы услышать "правильный" вариант реализации этой задачи именно на es6.
Вот код:
class DropDown {

  constructor(options) {

    this.select = options.select;
    this.list = options.list;
    // При загрузке страницы, начинается рендер нового списка из select`a
    window.addEventListener('load', this.renderOptionsList.bind(this));
    // А здесь вешается метод на уже склонированный список, но его еще нет.
    this.list.addEventListener('click', this.showDropDown.bind(this));

  }

  renderOptionsList() {

    const select = this.select;
    const options = select.querySelectorAll('option');

    let cloneList = document.createElement('ul');
    cloneList.className = 'find-store-select-clone__list hide';

    for (let i = 0; i < options.length; i++) {

      let li = document.createElement('li');
      li.className = 'find-store-select-clone__item';
      li.textContent = options[i].value;
      cloneList.appendChild(li);

    }

    select.closest('.find-store-select__wrapper').querySelector('.find-store-select-clone').appendChild(cloneList);

  }

  showDropDown(e) {

    e.preventDefault();
    console.log('Все работает');

  }

}

let dropDown = new DropDown({
  select: document.querySelector('.find-store-select__primal'), // это селект
  list: document.querySelector('.find-store-select-clone__list') // а это список, которого до выполнения скрипта не существует
});
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
См. здесь туториал.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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