我尝试使用“dijit.layout.AccordionPane.selected”来确定任何给定的AccordionPane是否处于焦点(选中)。但是,一旦选择了AccordionPane,AccordionPane.selected属性将设置为“True”,并且AccordionPane.selected将保持为“True”,即使选择了其他dijit.layout.AccordionPane也是如此。 换句话说,如果我有3个AccordionPanes,在我点击它们全部3个之后,它们中所有3个的AccordionPane.selected属性现在都是“True”。 这是一个错误,还是有其他方法可以确定当前正在选择哪个AccordionPane(焦点)? 提前谢谢!
大卫
答案 0 :(得分:2)
您应该使用包含所有这三个dijit.layout.AccordionContainer
的{{1}}来确定当前选择的是哪一个。
您可以使用dijit.layout.AccordionPane
的属性dijit.layout.AccordionContainer
来获取当前选定的selectedChildWidget
。
答案 1 :(得分:1)
AccordionPane
被包裹在AccordionContainer
中。 AccordionContainer
扩展StackContainer
which uses Dojo's pub-sub communication channel以在选择窗格时进行广告宣传。订阅主题[widgetId]-selectChild
以在每次选择新窗格时收到通知。 [widgetId]
是容器元素的窗口小部件ID。
dojo.subscribe("[widgetId]-selectChild", function(pane){
console.log("A new pane was selected:", pane);
});