javascript - 枚举 Handlebars.js 生成的元素在第一页加载时不返回任何内容
问题描述
当尝试访问由 hanlebar.js 在第一页加载时生成的元素时,我什么也没得到。刷新页面时,一切都按预期工作。
我正在做的是这样的:
第一个把手创建了一组名为“结果”的部分元素。然后我将它添加到我的 DOM 中:
d1.insertAdjacentHTML('afterend', result);
然后,使用另一个 js 插件:
this.DOM.entries.length
返回 0,因此我无法使用以下命令访问这些元素:
this.DOM.entries[this.currentPos]
奇怪的是,当我刷新页面时,一切都按预期工作,显然是由于浏览器缓存。我该如何克服呢?为什么会这样?
解决方案
我找到了解决这个问题的方法。我将我的 DOM 枚举代码封装在 setTimeout 中,如下所示:
setTimeout(function(){
this.DOM.entries.length
...
}, 500);
现在它起作用了。笨拙,因为它为页面增加了 500 毫秒的延迟,但它可以工作。
推荐阅读
- java - 如何快速安全地调用rest api 600,000次并插入600,000 * n
- python - 无法连接到 servicenow
- php - 无法在 codeigniter 中自定义轮播引导 css
- python-3.x - Keras 训练适用于 binary_crossentropy,但不适用于 categorcial_crossentropy
- java - 需要一个定时 panel.repaint();
- java - 如何分组和删除重复的对象
- php - 数据库故障转移的 PDO 版本?
- stm32 - SPI 状态未更新
- python - 获取 JSON 的 Python 请求
- python-3.x - 使用 urllib.requests.urlopen 的 PyOpenSSL Travis 构建失败