dijit.byId还没有准备好身体onload?什么时候dijits可用?

时间:2009-07-31 16:58:25

标签: javascript dojo onload

我正在使用Dojo工具包版本1.3.1。我在jsp页面中定义了以下dijit:

<div dojoType="dijit.layout.BorderContainer" gutters="false" id="ui_container">
    <div dojoType="dijit.Toolbar" region="top">
        <div dojoType="dijit.form.Button" id="zoomin" iconClass="zoominIcon">Zoom In</div>
    </div>
    <div dojoType="dijit.layout.BorderContainer" gutters="false" region="center">
        <div dojoType="dijit.layout.ContentPane" id="mapPane" region="center"><div>hi</div>
        </div>
    </div>
</div>

在我的body标签的onload事件中,我指定了一个包含此代码的函数:

var container_id = "ui_container";
// blah blah blah some stuff in the middle here
dijit.byId(container_id).resize({h: new_container_height});

查看页面时出现此错误: dijit.byId(container_id)未定义

如果我添加一个检查以退出该函数并在100 ms内再次调用此函数时该函数未定义,但这是一个草率的黑客。有没有更精确的方法来了解dijit什么时候可以使用?

1 个答案:

答案 0 :(得分:5)

在我读过的文档中并没有真正提到这一点,但看起来像dojo.addOnLoad就是我想要的。

谢谢!