0

我的页面中有以下代码,用于创建新的 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 页面没有提及它。

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

Aso 请注意 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作为第二个参数传递给构造函数来做到这一点

很像标准的方式。

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