2011-02-18 36 views
0

我希望能夠在用戶點擊關閉按鈕時銷燬YUI面板。如何在關閉時銷燬YUI面板?

我嘗試過使用hideEvent但那不起作用。我假設,因爲對象是仍處於活動狀態,因此不能被破壞:

panel.hideEvent.subscribe(function(o) { 
    panel.destroy(); 
}); 

有沒有一種方法,當用戶點擊關閉我可以摧毀面板?雖然它被賦予一個類的關閉按鈕未分配的ID:

<a class="container-close" href="#">Close</a> 

回答

3

結束了其使用的setTimeout()函數:

panel.hideEvent.subscribe(function(o) { 
    setTimeout(function() {panel.destroy();}, 0); 
}); 
0

如果贏是YUI簡單的對話,我用這個:

w.win.hideEvent.subscribe(function(e) { 
                this.destroy(); 

}); 
0

使用上面的hideEvent導致firebug中的javascript錯誤。以下解決方案沒有問題:

dlg - > yui2對話框的實例或類似的。 dlg.close - >是關閉圖標

具有呈現的對話框後使用下面的代碼的html元素:

//remove the default click handler (._doClose) 
YAHOO.util.Event.removeListener(dlg.close, "click"); 

//add a new click handler (._doClose) 
YAHOO.util.Event.on(dlg.close, "click", function(){ 
    this.destroy(); 
}, dlg, true);