#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 мс, но это работает.