0

在以下代码中:code1 onClick 函数打开 RichFace 弹出面板。我需要在关闭弹出窗口后执行 onComplete 功能。我怎样才能延迟 onComplete 功能。有没有办法检查弹出窗口是否可见,如code2所示,以便延迟执行。

代码1:
<a onclick ="showPopup('popup1')" oncomplete="" > Input </a>

代码2:
<a onclick ="showPopup('popup1'); while(isVisible('popup1')){ }"
oncomplete="" > Input </a>

4

1 回答 1

0

只需使用onhide来自rich:popupPanel. 其描述为:弹窗消失后执行的客户端代码

<h:commandButton value="Call the popup">
    <rich:componentControl target="popup" operation="show" />
</h:commandButton>

<rich:popupPanel id="popup" modal="true"
    onhide="alert('My popup is now hidden!')"
    onshow="alert('This popup just pop out!');">
    <!-- (... some body ...) -->
</rich:popupPanel>

如果您真的想检查弹出窗口是否隐藏或可见,请在 JavaScript 中使用RichFaces对象,找到弹出窗口并检查shown字段。一个例子:

if (RichFaces.$('MyPopupId').shown) {alert('Shown')} else {alert('Hidden')}

查看RichFaces VDL了解更多信息。

于 2016-07-10T22:21:03.387 回答