通过Dojo Toolkit中的id查找特定小部件

时间:2012-09-04 09:11:45

标签: dojo

我正在使用Dojo Toolkit开发移动应用程序。我有以下小部件:

define("js/custom/CustomHeading", [ "dojo/_base/declare", "dojo/dom-construct",
    "dojo/dom-class", "dojox/mobile/Heading", "dojox/mobile/ToolBarButton",
    "dojo/ready" ], function(declare, domConstruct, domClass, Heading,
    ToolBarButton, ready) {

return declare("js.custom.CustomHeading", [ Heading ], {

    buildRendering : function() {
        this.inherited(arguments);

        navigationButton = new dojox.mobile.ToolBarButton({
            icon : "js/custom/images/navigation.png"
        });

        navigationButton.placeAt(this.domNode);

        ready(function() {
            console.log("I entered the block.");
        });

    }
});

});

如果我尝试使用dijit.byId()找到我的html中的小部件,则无法获得成功结果。 Dojo找不到小部件,而它就在那里。我想要找到的小部件如下所示:

<div id="navigationOverlay" data-dojo-type="dojox.mobile.Overlay">
    <ul data-dojo-type="dojox.mobile.RoundRectList">
        <li data-dojo-type="dojox.mobile.ListItem"
            data-dojo-props="moveTo:'dataServerRuntime',transition:'slide',label:'Health Summary'"
            onclick="hideNavigation();"></li>
    </ul>
</div>

我做错了什么?我怎样才能找到小部件?

1 个答案:

答案 0 :(得分:3)

使用dojo/ready

ready(function() {
    var navigationWidget = reqistry.byId("navigationOverlay"); 
})

jsFiddle的一个例子:http://jsfiddle.net/phusick/tgU2x/