2011-01-07 9 views
5

私は、宣言型とプログラム型の両方で作成されたContentPaneを持っています。onShowとonLoadを使用してdijit.layout.ContentPaneを作成しました

宣言:

<div dojoType="dijit.layout.ContentPane" id="abccp" href="abc.php?id=1" title="abc" onShow="do_abc()"> 

プログラマ

var obj_abc; 
var abchref= "abc.php?id=1"; 
obj_abc = new dijit.layout.ContentPane({id:'abccp',title:'abc', href:abchref}); 

どのように私はあなたの最初の例と技術的に同等であるためには、プログラムの元

答えて

8

中)(do_abcを呼び出すことができ、あなただけが含まだろうContentPaneのコンストラクタに渡されるargumentsオブジェクト内のonShow: do_abc。 (do_abcの後にかっこはありません - 関数オブジェクト自体に興味があり、呼び出した結果ではありません)

しかし、ファッションをもっと拡張したいのであれば、私は「がこのようにそれをやってお勧めdは:これは何

obj_abc = new dijit.layout.ContentPane(...); 
obj_abc.connect(obj_abc, 'onShow', do_abc); 

obj_abcたびようなフックアップ実行である」もののobj_abcの文脈で(S onShowメソッドが呼び出され、do_abc機能が順番に呼び出されますがどのおそらくあなたが望むものです)。

  • それはもはや
  • ます(この場合には、onShowを壊し可能なことを意味スタブですが)メソッドに元々存在する可能性のあるデフォルトの機能を切り詰め:あなたはまた、次の追加ボーナスを得ますこのようにしてonShowに任意の数の機能を接続することができます。
  • ウィジェットが破棄されると、接続が自動的に切断されます(手作業で破棄するdojo.connectではなく)。詳細については

+0

は、それが働いた、どうもありがとうございました! – noru

+0

こんにちはケン私はあなたがチェックしてくださいいくつかの道場に問題があります:http://stackoverflow.com/questions/18122473/dojo-is-not-working – GingerHead

関連する問題