小部件加载事件的Dojo

时间:2011-08-30 16:47:09

标签: javascript javascript-events dojo

我想知道何时解析或准备好Dojo表单窗口小部件,以便我可以动态地自定义它。我试图通过使用dojo.connect()方法来实现这一目标。但是,我不确定要听哪个事件。是onLoad还是onStartup或..?

这就是我所做的,但它没有触发:

dojo.connect(dijit.byId('myWidget'), 'onStartup', function(evt) {
   console.debug("test");
}

请注意,dijit.byId('myWidget')部分正确返回对象,这不是问题所在。

由于

4 个答案:

答案 0 :(得分:3)

这在某种程度上取决于您要尝试自定义的内容(请参阅窗口小部件生命周期here),但我猜想连接到postCreate将满足您的要求

答案 1 :(得分:2)

回答我自己的问题,小部件生命周期中有一个“启动”功能,所以我可以使用它来代替“onStartup”,如下所示:

dojo.connect(dijit.byId('myWidget'), 'startup', function(evt) {
   console.debug("test");
}

答案 2 :(得分:1)

在我的情况下,我需要等待外部模板。我这样做了:

var myCp= registry.byId("myContentPane");
myCp.set("onDownloadEnd", function(){
    console.log("Download complete!");
});
myCp.set("href", "myHtml.html");

答案 3 :(得分:0)

好吧,如果你使用dojo.addOnLoad()函数调用来包装该代码,那么你应该很好。

http://dojotoolkit.org/reference-guide/dojo/addOnLoad.html