0

私のページには、新しいDojo /DijitTabContainerを作成する次のコードがあります。

<div dojoType="dijit.form.ComboButton" iconClass="dijitIconEdit">
    <span>
    Blank
    </span>
    <div dojoType="dijit.Menu">
    <div dojoType="dijit.MenuItem" iconClass="dijitIconEdit">
        Letter to Client
        <script type="dojo/method" event="onClick">
            newLetterToClientPane = dojox.layout.ContentPane({ title:'New Letter to Client', href:'some_url', closable:true })
            dijit.byId('mainTabs').addChild(newLetterToClientPane)
        </script>
    </div>
    <div dojoType="dijit.MenuItem" iconClass="dijitIconEdit">
        Letter to Company
        <script type="dojo/method" event="onClick">
            newLetterToCompanyPane = dojox.layout.ContentPane({ title:'New Letter to Company', href:'some_url', closable:true })
            dijit.byId('mainTabs').addChild(newLetterToCompanyPane)
        </script>
    </div>
    </div>
</div>

これはすべて正常に機能します。スクリプトの後半で再入力する必要があるため、新しいTabContainerにIDを指定するにはどうすればよいのでしょうか。ただし、IDがないとこれを行うことはできません。dojox.layout.ContentPanedijit.layout.ContentPaneのDojoページがそれについて言及していないので、私は尋ねているだけです。

4

3 に答える 3

2

以下が機能するはずです。

newLetterToClientPane = dojox.layout.ContentPane({ id: "cp1", title:'New Letter to Client', href:'some_url', closable:true });

その後、次の方法でそのウィジェットにアクセスできます。

dijit.byId("cp1")

例えば

dijit.byId("cp1").attr ("title", "new title");

jsidは指定したIDでグローバルJS変数を作成することに注意してください-グローバルメモリに追加したくない場合は注意してくださいアクセスするためにdijit.byIdを実行する必要がないという点で便利ですが、 :

cp1.attr("title", "new title");

jsIdをcp1として使用する場合

麻生はdojo.byIdとdijit.byIdの違いに注意してください:http: //dojotoolkit.org/reference-guide/1.7/dijit/info.html

idの動作はすべてのウィジェットで同じであるため、上記のリンクにあるベースdijitドキュメントに詳細が追加されていると思います。

于 2012-04-13T13:57:26.373 に答える
1

jsIdとして使用

<div jsId='myfirstTab' dojoType="dijit.form.ComboButton" iconClass="dijitIconEdit">

アップデート

新しいIDを自分に割り当てます

newLetterToClientPane = dojox.layout.ContentPane({ title:'New Letter to Client', href:'some_url', closable:true, jsId :'myfirstTab' })
于 2012-04-13T13:49:43.263 に答える
0

idコンストラクターに2番目の引数としてを渡すことによってこれを行うこともできます

標準的な方法とよく似ています。

newLetterToClientPane = dojox.layout.ContentPane({ title:'New Letter to Client', href:'some_url', closable:true }, "cpId")
于 2012-04-13T15:21:10.340 に答える