我试图用“dijit.layout.AccordionPane.selected”,以确定是否任何给定AccordionPane处于焦点(选择)。然而,由于选择了“真”甚至其他dijit.layout.AccordionPane AccordionPane.selected属性将被设置为“True”,一旦AccordionPane被选中,AccordionPane.selected住宿。 因此,换句话说,如果我有3个AccordionPanes,我点击了他们的所有3后,AccordionPane.selected物业对他们的所有3是“真”了。 这是一个错误,或者有其他方式来确定,目前正在选择哪个AccordionPane(聚焦)? 由于事先!

大卫

有帮助吗?

解决方案

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

您可以使用dijit.layout.AccordionContainer财产selectedChildWidget获取当前选中dijit.layout.AccordionPane

其他提示

AccordionPanes被一个AccordionContainer内缠绕。所述AccordionContainer延伸 StackContainer它使用Dojo的发布 - 订阅通信频道当选择了一个窗格中做广告。订阅话题[widgetId]-selectChild当选择一个新的面板得到通知,每次。 [widgetId]是容器元件的微件ID。

dojo.subscribe("[widgetId]-selectChild", function(pane){
    console.log("A new pane was selected:", pane);
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top