我尝试使用"dijit.layout.AccordionPane.selected“来确定是否有任何给定的AccordionPane处于焦点(选中)。但是,一旦选择了AccordionPane,AccordionPane.selected属性将被设置为"True“,并且即使选择了其他dijit.layout.AccordionPane,AccordionPane.selected也将保持为"True”。换句话说,如果我有3个AccordionPanes,在我点击所有3个之后,所有3个的AccordionPane.selected属性现在都是"True“。这是一个错误,或者有其他方法来确定当前选择的是哪个AccordionPane (焦点)?提前感谢!
大卫
发布于 2010-05-13 09:38:18
您应该使用包含所有这三个dijit.layout.AccordionPane的dijit.layout.AccordionContainer来确定当前选择了哪一个。
您可以使用dijit.layout.AccordionContainer的属性selectedChildWidget来获取当前选定的dijit.layout.AccordionPane。
发布于 2010-05-13 19:29:18
AccordionPane包装在AccordionContainer中。AccordionContainer将StackContainer which uses Dojo's pub-sub communication channel扩展为在选择窗格时进行通告。订阅topic [widgetId]-selectChild,每次选择新窗格时都会收到通知。[widgetId]是容器元素的小部件ID。
dojo.subscribe("[widgetId]-selectChild", function(pane){
console.log("A new pane was selected:", pane);
});https://stackoverflow.com/questions/2823762
复制相似问题