2011-07-18 6 views
1

サイトでdojo 1.1を使用することを余儀なくされています。legacy dojo 1.1 - dijitの準備ができていないときにdojo.addOnLoadが発生する

ページはのように、宣言的な方法でdijitのウィジェットを使用しています。

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

私は負荷後のウィジェットにいくつかのものをやってみたいが、私がしなければ:

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

何の警告が表示されません、このコードはの前に実行されており、デバッグ中に見つけたように、ページの「分割」の前にはとなります。

ページが本当に本当に準備が整ったら、コードを実行する方法はありますか?

答えて

1

はちょうど私(または他の誰か)が再びそれを必要とする場合には、これは私がこれを解決する方法である:

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

これはsomeFunctionが実行全て他のコールバックした後、dijitのコールバックを含まれていることを確認しているようです。