1

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

大卫

4

2 回答 2

2

您应该使用dijit.layout.AccordionContainer包含所有这三个dijit.layout.AccordionPane的 来确定当前选择了哪一个。

您可以使用dijit.layout.AccordionContainer' 属性selectedChildWidget来获取当前选定的内容dijit.layout.AccordionPane

于 2010-05-13T01:38:17.680 回答
1

AccordionPanes 被包裹在一个AccordionContainer. AccordionContainer扩展StackContainer使用 Dojo 的 pub-sub 通信通道在选择窗格时进行广告。订阅主题[widgetId]-selectChild以在每次选择新窗格时收到通知。[widgetId]是容器元素的小部件 ID。

dojo.subscribe("[widgetId]-selectChild", function(pane){
    console.log("A new pane was selected:", pane);
});
于 2010-05-13T11:29:18.393 回答