Javascript 单击获取dijit/titlepane的数据dojo attachpoint

Javascript 单击获取dijit/titlepane的数据dojo attachpoint,javascript,dojo,dijit.form,Javascript,Dojo,Dijit.form,我有一组dijit/titlepanes,我正试图让它们表现得像手风琴(当一个被点击时,另一个被关闭)。我已经能够使用下面代码中窗格的单击事件来完成此操作。问题是我需要为窗格分配ID才能使其工作。在窗格的单击事件中,是否仍然可以获取窗格的数据dojo附着点?分配ID会产生问题,因为小部件需要多次创建 小部件中标题栏的标记: <div id="P1" data-dojo-attach-point="P1" data-dojo-type="dijit/TitlePane" data-dojo

我有一组dijit/titlepanes,我正试图让它们表现得像手风琴(当一个被点击时,另一个被关闭)。我已经能够使用下面代码中窗格的单击事件来完成此操作。问题是我需要为窗格分配ID才能使其工作。在窗格的单击事件中,是否仍然可以获取窗格的数据dojo附着点?分配ID会产生问题,因为小部件需要多次创建

小部件中标题栏的标记:

<div id="P1" data-dojo-attach-point="P1" data-dojo-type="dijit/TitlePane" 
data-dojo-props="title:'1: Step 1', closable:false,  open:false" data-dojo-attach-event="onClick:ClickPane"/>

<div id="P2" data-dojo-attach-point="P2" data-dojo-type="dijit/TitlePane" 
data-dojo-props="title:'2: Step 2', closable:false,  open:false" data-dojo-attach-event="onClick:ClickPane"/>

<div id="P3" data-dojo-attach-point="P3" data-dojo-type="dijit/TitlePane" 
data-dojo-props="title:'3: Step 3', closable:false,  open:false" data-dojo-attach-event="onClick:ClickPane"/>


<div id="P4" data-dojo-attach-point="P4" data-dojo-type="dijit/TitlePane" 
data-dojo-props="title:'4: Step4', closable:false,  open:false" data-dojo-attach-event="onClick:ClickPane"/>

代码:

单击窗格:功能(evt){
//单击一个窗格后关闭所有其他窗格
变量panesName=[“P1”、“P2”、“P3”、“P4”];//ID
变量窗格=[this.P1,this.P2,this.P3,this.P4];
var pane=evt.currentTarget.id;//我希望能够在这里获取attachpoint
var index=panesName.indexOf(窗格);
如果(索引>-1){
窗格玻璃拼接(索引1);
对于(变量i=0;i
我可以使用css手风琴,但我真的很喜欢这些标题窗格的外观和工作方式


感谢使用dojox/widget/TitleGroup

效果很好

 ClickPane: function (evt) {
            //close all other panes after one has been clicked
            var panesName = ["P1", "P2", "P3", "P4"];//ids
            var panes = [this.P1, this.P2, this.P3, this.P4];
            var pane = evt.currentTarget.id;//id like to be able to grab attachpoint here
            var index = panesName.indexOf(pane);
            if (index > -1) {
                panes.splice(index, 1);
                for (var i = 0; i < panes.length; i++) {
                    panes[i].set("open", false)
                }
            }

        },