0

这让我眼花缭乱

我们创建了一个自定义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 小部件的元素尺寸。

4

0 回答 0