如何确定当前选择的dijit.layout.AccordionPane

时间:2010-05-13 00:41:45

标签: dojo accordionpane

我尝试使用“dijit.layout.AccordionPane.selected”来确定任何给定的AccordionPane是否处于焦点(选中)。但是,一旦选择了AccordionPane,AccordionPane.selected属性将设置为“True”,并且AccordionPane.selected将保持为“True”,即使选择了其他dijit.layout.AccordionPane也是如此。 换句话说,如果我有3个AccordionPanes,在我点击它们全部3个之后,它们中所有3个的AccordionPane.selected属性现在都是“True”。 这是一个错误,还是有其他方法可以确定当前正在选择哪个AccordionPane(焦点)? 提前谢谢!

大卫

2 个答案:

答案 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);
});