legacy dojo 1.1 - dojo.addOnLoad запускается, когда dijit не готов - PullRequest
1 голос
/ 18 июля 2011

Я вынужден использовать 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!');
  });
});

оповещения не появляются, так как этот код выполняется до «расхождения» страницы, как я выяснил при отладке.

Есть ли способ выполнить мой код, когда страница действительно, действительно готова?

1 Ответ

1 голос
/ 19 июля 2011

На случай, если мне (или кому-либо еще) понадобится это снова, я решил это следующим образом:

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

Похоже, что someFunction выполняется после все другие обратные вызовы, включая обратные вызовы dijit.

...