2015-06-25 81 views
0

當dojo-dijit的TitlePane擴展時,是否有任何方法可以獲得事件回調?dijit.TitlePane是否存在「onExpand」事件或類似事件?

我可以在TitlePane上捕獲onClick。但是,這對我來說還不夠。我有一個「全部展開」TitlePanes的按鈕。當用戶點擊時,我遍歷所有TitlePanes並將其稱爲toggle()方法。發生這種情況時,onClick事件不會被觸發(如預期的那樣)。我想知道是否有任何事件觸發切換()。

或任何其他聰明的方式來解決它也將不勝感激。

回答

0

在詳細查看文檔後,我不認爲在切換/展開過程中會觸發任何內置事件。我最終發起了一個自定義事件,並幫助我獲得了我想要的東西。

這個答案讓我 - https://stackoverflow.com/a/12852043/3810374

基本上,

首先使用ISOPEN()方法,確保標題窗格尚未展開。然後調用切換()方法,並觸發這樣一個自定義事件:

require(["dojo/on"], function(on){ 
    // Send event 
    on.emit(target, "onExpand", { 
    bubbles: true, 
    cancelable: true 
    }); 
}); 

然後處理該事件:

require(["dojo/on"], function(on){ 
    // register event handler 
    on(target, "onExpand", function(e){ 
     // handle event 
    }); 
}); 

你可能會疑惑,爲什麼不只是做切換之後的工作( ),而不是經歷解僱/處理事件的痛苦。我需要在特定的閉包中處理事件,我可以訪問其他對象和變量。

相關問題