1

我被迫在网站上使用 dojo 1.1。

该页面以声明方式使用 dijit 小部件,如下所示:

<select dojoType="dijit.form.FilteringSelect">...</select>

我想在加载后对小部件做一些事情,但如果我这样做:

dojo.addOnLoad(function() {
  dijit.registry.forEach(function(widget, idx, hash) {
    alert('Hello! I am a widget!');
  });
});

没有警报出现,因为此代码在页面的“dijitification”之前执行,正如我在调试时发现的那样。

当页面真的,真的准备好时,有没有办法执行我的代码?

4

1 回答 1

1

以防万一我(或其他任何人)再次需要它,这就是我解决这个问题的方法:

dojo.addOnLoad(function() {
  dojo._loaders.push(someFunction);
});

这似乎确保在所有someFunction其他回调之后执行,包括 dijit 回调。

于 2011-07-19T16:01:22.567 回答