簡體   English   中英

給Dojo TabContainer一個ID

[英]Give Dojo TabContainer an ID

我的頁面中包含以下代碼,用於創建新的Dojo / Dijit TabContainer。

<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,因為我需要稍后在腳本中重新填充,但是我不能使用out和ID來完成此操作。 我之所以問是因為dojox.layout.ContentPanedijit.layout.ContentPane上的Dojo頁面沒有提及它。

以下應該工作:

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文檔中添加了詳細信息

使用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' })

您也可以通過將id作為第二個參數傳遞給構造函數來執行此操作

很像標准方式。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM