dijit.byId возвращает неопределенное значение - PullRequest
1 голос
/ 17 апреля 2011

Это очень странно, я вызываю dijit.byId () в dojo.addOnLoad (функция {...}), она возвращает undefined. Чтобы проверить, существует ли идентификатор, я вызываю dojo.byId () одновременно, он возвращает некоторый объект. Итак, я думаю, что компонент не является компонентом dijit Вот и весь код: Пожалуйста, помогите мне, спасибо за совет!

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>

<!-- Dojo/Diji definations -->
<link href='../dojoroot/dijit/themes/tundra/tundra.css' type='text/css' rel='stylesheet'/>
<link href='../dojoroot/dojo/resources/dojo.css' type='text/css' rel='stylesheet'/>

<script type="text/javascript" src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad: true"></script>


<!-- Main scripts -->

<script type="text/javascript">
    dojo.addOnLoad(function()
    {
        // Include library
        dojo.require("dijit.layout.BorderContainer");
        dojo.require("dijit.layout.TabContainer");
        dojo.require("dijit.layout.ContentPane");

        // add the select child event to the tab panel
        alert(dijit.byId("contentTabPanel"));  // return no defined
        alert(dojo.byId("contentTabPanel")); // return an object

    });
</script>
</head>

<body class="tundra">
<div dojoType="dijit.layout.BorderContainer" style="width: 100%; height: 100%;">
    <!-- Content Tab Panel -->
    <div id="contentTabPanel" dojoType="dijit.layout.TabContainer" region="center">
        <!-- Tab UserGroup -->
        <div dojoType="dijit.layout.ContentPane" title="UserGroup">
        </div>
    </div>
</div>
</body>
</html>

OMFG !!!!! Я знаю причину !!!!! Я стою 5 часов только за эту глупую ошибку:

Я ДОЛЖЕН написать

    // Include library
    dojo.require("dijit.layout.BorderContainer");
    dojo.require("dijit.layout.TabContainer");
    dojo.require("dijit.layout.ContentPane");

вне dojo.addOnLoad (function () {!!!

...