1

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.");
        });

    }
});

});

を使用して html にあるウィジェットを見つけようとすると、dijit.byId()成功した結果が得られません。ウィジェットはありますが、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>

私は何を間違っていますか?ウィジェットを見つけるにはどうすればよいですか?

4

1 に答える 1

3

使用dojo/ready:

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

jsFiddle の例: http://jsfiddle.net/phusick/tgU2x/

于 2012-09-04T10:19:00.397 に答える