我的 Firefox 扩展有问题
我有一个 XUL 弹出面板,其中包含用于标签云的 hbox,以及用于将 div 添加到此 hbox 的 JS 代码:
<hbox id="tag_base" ondblclick="alert('done')"/>
JS:
var root = document.getElementById('tag_base');
var tag = document.createElement('div');
tag.textContent = 'test';
root.appendChild(tag);
var rect = tag.getBoundingClientRect()
alert(rect.top)
我需要获取每个添加的 div 的尺寸,但是 getBoundingClientRect 根本无法工作。
如果我删除警报,它始终为零。
有了警报,情况就不同了:
第一次调用警报时,尽管 div 出现在屏幕上,但它会返回零。
任何后续警报都会返回正确的坐标。
如果我在 Chrome 中设置断点但是,一切都会正确报告。
如果我不以任何方式中断执行并运行循环,则仅返回零。
这让我很困惑。
调用“boxObject”会产生相同的结果,而“getClientRects[0]”在第一次调用时未定义。
任何有关可能导致此问题的原因的提示将不胜感激。
笔记 :
注意,如果您将 getBoundingClientRect 与具有 display:none 的元素一起使用,那么它将在 dom 中的任何位置返回 0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)