dijit.byНе готов к загрузке тела? Когда на самом деле доступны дижиты? - PullRequest
1 голос
/ 31 июля 2009

Я использую инструментарий Dojo версии 1.3.1. Я определил следующий dijit на странице jsp:

<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>

В событии onload для моего тега body я указываю функцию с этим кодом:

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 мс, когда это значение не определено, но это неаккуратный хак. Есть ли какой-нибудь более точный способ узнать, когда диджиты доступны для использования?

1 Ответ

5 голосов
/ 01 августа 2009

В документах, которые я читаю, это не очень четко упоминается, но похоже, что я искал dojo.addOnLoad.

Спасибо!

...