2011-06-30 5 views
1

私は、タブを持つタブコンテナを持っています。これは、選択されているタブに応じて、実行する関数が必要です。私はすでにJavaスクリプトで関数を作成しています。これはウィンドウを非表示または表示します。関数は正常に動作します。この機能を実行するにはどうすればよいですか?以下のコードでは、タブの "目次"に "hidediv"という機能を示しています。私は "showdiv"という関数も持っています。私は内容からそれを削除し、タブが選択されたときに自動的に実行させたい。助言がありますか?私はタブの内容にまったく影響を与えたくありません。
ありがとうございます!dojoタブのコンテナでタブが選択されているときに関数を呼び出すにはどうすればいいですか?

  <div dojoType="dijit.layout.ContentPane" title="Setup"> 
      <a href="javascript:hidediv()">Hide div</a> 
      </div> 

答えて

3

これは、reference guideに詳しく説明されています。

あなたのタブコンテナにid「myTabs」を持っている場合は、基本的に、あなたが行うことができます:

dojo.subscribe("myTabs-selectChild", function(selected){ 
    // Do whatever you need here, hidediv() etc.. 
    console.log(selected.title); 
}); 

を編集:あなたが唯一の特定のタブのためのトリガー何かをしたい場合は、関数内のタイトルを確認することができます。

:おそらく
dojo.subscribe("myTabs-selectChild", function(selected){ 
    if(selected.title == "Setup") 
    { 
     hidediv(); 
    } 
}); 

それを行うにはよりエレガントな方法は、このように例えば、CONTENTPANEのonShowイベントを使用することです
+0

初心者では申し訳ありませんが、送信したサンプルを使用してこのコードを挿入する場所はどこですか? – John

+0

@ Johnあなたが望む場所に挿入することができます。たとえば、 'hidediv'定義の直後に挿入することができます。 – Frode

+0

私はちょうどそれを試して、それは素晴らしい動作します!ありがとうございました!私はshowdivを持っていますが、ただ1つのタブだけで有効にしたいと思います。同じ原則を使用する方法はありますか?ただし、特定のタブタイトル、またはIDにのみ適用できますか?ありがとうございました! – John

関連する問題