这让我眼花缭乱
我们创建了一个自定义jquery UI 小部件,它在它的初始化程序中构建了一堆 DOM 元素。我想做的就是在呈现小部件时以某种方式捕获这些元素的实际尺寸。
下面是一个简单的例子,将 ap 标签动态添加到 DOM 并使用 jQuery 读取其尺寸:
查询:
$(function () {
$('.container').append('<p class="p1">Here is some more</p>');
console.log($('p.p1').width());
console.log($('p.p1').height());
});
小提琴:http : //jsfiddle.net/gYusd/7/
这没问题。但是,当我们在小部件的 _create 方法中执行基本相同的操作时......
this.element.append('<p>Some text</p>');
...在 _create 或主 jquery 函数中检查这些元素尺寸总是会产生预布局尺寸 - 例如 p 标签的高度为 0 等。
所以我试图了解这两种情况有什么不同,以及是否有办法在加载后可靠地确定我们的 jquery 小部件的元素尺寸。