如何覆盖YUI面板CLOSE按钮事件?

时间:2009-10-25 22:21:12

标签: events panel yui

我有一个如下定义的YAHOO Panel对象:

profilesDialog = new YAHOO.widget.Panel("profiles_dialog", {
            width: "705px",
            height: "609px",
            fixedcenter: "contained",
            close: true,
            draggable: true,
            zindex: 2,
            autofillheight: "body",
            visible: false,
            constraintoviewport: true,
            modal: true,
            zIndex: 1000
        });

配置的“close:true”部分会导致小关闭按钮在面板中呈现。当您单击此小按钮时,面板将被隐藏。

现在我知道我可以订阅“beforeHideEvent”并且这是可取的,但我想知道的是,如果在“beforeHideEvent”中遇到某些条件,我该如何阻止面板触发它自己的close方法。 / p>

1 个答案:

答案 0 :(得分:2)

在beforeHideEvent的订阅函数中:

YAHOO.util.Event.preventDefault(event);

并且,如果您想要阻止事件冒泡到其他非默认事件:

stopPropagation(event)

http://developer.yahoo.com/yui/docs/YAHOO.util.Event.html#method_stopPropagation

另外,还有一个

stopEvent(event)

这是stopPropagation + preventDefault的总和。