Перечисление элементов, сгенерированных Handlebars.js ничего не возвращает при загрузке первой страницы

#javascript #dom #handlebars.js

#javascript #dom #handlebars.js

Вопрос:

При попытке получить доступ к элементам, сгенерированным hanlebar.js при загрузке первой страницы я ничего не получаю. При обновлении страницы все работает так, как ожидалось.

То, что я делаю, примерно так:

First handlebars создает набор элементов раздела с именем «результат». Затем я добавляю его в свой DOM с помощью:

 d1.insertAdjacentHTML('afterend', result);
  

Затем, с другим плагином js это:

 this.DOM.entries.length
  

Возвращает 0, и поэтому я не могу получить доступ к этим элементам с помощью:

 this.DOM.entries[this.currentPos]
  

Странно, как при обновлении страницы все работает так, как ожидалось, по-видимому, из-за кэширования браузера.
Как я могу это преодолеть? Почему это происходит?

Ответ №1:

Я нашел способ позаботиться об этом. Я инкапсулировал свой код перечисления DOM в setTimeout следующим образом:

 setTimeout(function(){
 this.DOM.entries.length
...
}, 500);
  

Теперь это работает. Неуклюже, так как это добавляет задержку на странице в 500 мс, но это работает.