2009-07-06 4 views
0

dijit.dialog内のリンクを接続するのに問題があります。dijit.dialog内のリンクを接続します

Iamはこのファイル内のDialog(dialog.href = "xxx.html")内の "other" htmlファイルを呼び出して、idでリンクをいくつか接続しようとしました。しかし何も起こらない?これは可能ではない可能性がありますか?私xxx.htmlファイルから一部ザッツ

..

<script type="text/javascript"> 
    dojo.addOnLoad(function() { 
     dojo.connect(dojo.byId('testLink'), 'onClick', alert('xx')); 
    }); </script> 


<a href='#' id="testLink">TEST</a> 

答えて

1

Dialog is extended from ContentPane so it supports all the same parameters (href, etc.)。つまり、hrefプロパティを介してページが含まれている場合、<script>タグは評価されず、DOMに追加されたばかりです。これは、2つの選択肢があなたを残し:

  1. リファクタリングxxx.html、そのスクリプトが
  2. は、htmlタグにイベントハンドラを埋め込むダイアログのonLoadハンドラによって実行することができます。すなわち<input type="button" onClick="alert('xx');" />
+0

onLoadに接続するためのアイデアに感謝します!正常に動作します! – opHASnoNAME

1

もう1つのオプションはdojox.layout.ContentPaneです。それは<スクリプト>タグを解析します。それはdojoxにありますが、将来のバージョンでは変更される可能性があります。もう一つの欠点は、dojox.layout.ContentPaneのサブクラスである独自のDialogクラスを作成する必要があることです。

dojocampus about executing javascript in content panesに関する記事で、dojox.layout.ContentPaneを使用して独自のダイアログウィジェットを表示する方法について少し詳しく説明しています。

関連する問題