2010-05-13 54 views
1

我試圖使用「dijit.layout.AccordionPane.selected」來確定是否有任何給定的AccordionPane處於焦點(選中狀態)。但是,一旦AccordionPane被選中,AccordionPane.selected屬性將被設置爲「True」,並且AccordionPane.selected保持爲「True」,即使其他dijit.layout.AccordionPane被選中。換句話說,如果我有3個AccordionPanes,當我點擊其中的所有3個後,AccordionPane.selected的所有3個屬性現在都是「True」。 這是一個錯誤,還是有其他方法來確定哪個AccordionPane當前正在被選中(焦點)? 在此先感謝!如何確定當前選擇哪個dijit.layout.AccordionPane

大衛

回答

2

你應該使用包含dijit.layout.AccordionContainer這三個dijit.layout.AccordionPane,以確定哪一個是當前選擇。

您可以使用dijit.layout.AccordionContainer的屬性selectedChildWidget獲取當前選定的dijit.layout.AccordionPane

+0

非常感謝,我使用的是AccordionContainer,但並不知道使用selectedChildWidget屬性來檢查。 – 2010-05-13 17:42:19

1

AccordionPane s被包裝在AccordionContainer內。 AccordionContainerStackContainer 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); 
}); 
+0

謝謝你的回答!雖然你的建議是在選擇時得到通知,但我試圖找出哪一個正在被選中,並且我認爲我可以通過使用onFocus()來做到這一點。 歡呼! – 2010-05-13 17:44:24

相關問題