首页 > 解决方案 > 枚举 Handlebars.js 生成的元素在第一页加载时不返回任何内容

问题描述

当尝试访问由 hanlebar.js 在第一页加载时生成的元素时,我什么也没得到。刷新页面时,一切都按预期工作。

我正在做的是这样的:

第一个把手创建了一组名为“结果”的部分元素。然后我将它添加到我的 DOM 中:

d1.insertAdjacentHTML('afterend', result);

然后,使用另一个 js 插件:

this.DOM.entries.length

返回 0,因此我无法使用以下命令访问这些元素:

this.DOM.entries[this.currentPos]

奇怪的是,当我刷新页面时,一切都按预期工作,显然是由于浏览器缓存。我该如何克服呢?为什么会这样?

标签: javascriptdomhandlebars.js

解决方案


我找到了解决这个问题的方法。我将我的 DOM 枚举代码封装在 setTimeout 中,如下所示:

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

现在它起作用了。笨拙,因为它为页面增加了 500 毫秒的延迟,但它可以工作。


推荐阅读