0

我有这行代码

 var width_client = Ext.getBody().getWidth(true);

我知道 Ext.getBody() 为空。我假设这个检查是在 Ext.getBody() 变为非空之前进行的,但不知道是什么或要改变什么。

知道如何解决这个问题吗?

我使用 extjs 4.0.7

4

2 回答 2

3

您可以在呈现 document.body 时访问它。根据您的问题,我得出的结论是您的代码位于<head>. 执行此代码时,还没有<body>渲染。你必须用一个函数包装你的代码并将这个函数传递给Ext.onReady(或Ext.onDocumentReady)方法:

Ext.onReady(function() {
    alert(Ext.getBody().getWidth(true));
});

这是演示

于 2012-07-02T15:28:55.690 回答
2

您必须等到页面加载并准备好。试试这个。

Ext.onReady(function() { Ext.getBody().getWidth();})
于 2012-07-02T15:28:43.180 回答