Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在关闭时销毁YUI面板?_Javascript_Dom Events_Yui - Fatal编程技术网

Javascript 如何在关闭时销毁YUI面板?

Javascript 如何在关闭时销毁YUI面板?,javascript,dom-events,yui,Javascript,Dom Events,Yui,我希望在用户单击关闭按钮时能够销毁YUI面板 我尝试过使用hideEvent,但不起作用。我假设,由于该对象仍处于活动状态,因此无法销毁: panel.hideEvent.subscribe(function(o) { panel.destroy(); }); 有没有一种方法可以在用户单击“关闭”时销毁面板?关闭按钮未分配ID,尽管已分配类别: <a class="container-close" href="#">Close<

我希望在用户单击关闭按钮时能够销毁YUI面板

我尝试过使用
hideEvent
,但不起作用。我假设,由于该对象仍处于活动状态,因此无法销毁:

panel.hideEvent.subscribe(function(o) {
    panel.destroy();
});
有没有一种方法可以在用户单击“关闭”时销毁面板?关闭按钮未分配ID,尽管已分配类别:

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

最后不得不使用setTimeout()函数:

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

最终不得不使用setTimeout()函数:

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

win是一个YUI简单对话框,我使用:

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

});

win是一个YUI简单对话框,我使用:

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

});

如上所述使用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);

如上所述使用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);