我有一个如下定义的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>
答案 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的总和。