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