3

当我使用$(document).ready(function() {...}时,在 DOM 准备好之后调用该函数,但(我认为)在加载 CSS 样式之前。

我想检索元素的宽度,但是当我尝试在 ready() 事件中检索它时,返回的值与 CSS 值不匹配。但是,当我在 10 秒后使用计时器调用此函数时,它会按预期工作。

那么,有没有办法用 jQuery 来监听 CSS 渲染呢?

谢谢

4

2 回答 2

11
$(window).bind("load", function() {
   // code here
});
于 2012-10-27T12:47:13.043 回答
-1

为了完成我的第一篇文章,我使用了 JSF 框架 (Mojarra) + PrimeFaces 组件。我所有的 JS 都是这个:

$(document).ready(function() {      
    alert("parent : " + $("#j_idt14\\:panelGrid label").parent().css("width"));

    window.setInterval(function(){alert("parent : " + $("#j_idt14\\:panelGrid label").parent().css("width"));}, 5000);

});

我得到 416px,5 秒后又是 522px。

我通过 JSF 调用 JS 脚本,如下所示:

<h:outputStylesheet name="styles/styles.css" />

就这样。我不明白

于 2012-10-27T12:52:33.117 回答