我希望能够在用户点击关闭按钮时销毁YUI面板。
我尝试过使用hideEvent,但这不起作用。我假设因为对象仍处于活动状态,因此无法销毁:
panel.hideEvent.subscribe(function(o) {
panel.destroy();
});
当用户点击关闭时,有没有办法销毁Panel?虽然已为其分配了一个类:
,但未为关闭按钮分配ID<a class="container-close" href="#">Close</a>
答案 0 :(得分:3)
结束必须使用setTimeout()函数:
panel.hideEvent.subscribe(function(o) {
setTimeout(function() {panel.destroy();}, 0);
});
答案 1 :(得分:0)
如果win是YUI简单对话框,我使用它:
w.win.hideEvent.subscribe(function(e) {
this.destroy();
});
答案 2 :(得分:0)
使用上面的hideEvent导致firebug中的javascript错误。以下解决方案没有问题:
dlg - &gt; yui2对话框或类似的实例。 dlg.close - &gt;是关闭图标的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);