在以下代码中: code1 onClick函数opensUp一个RichFace弹出面板。我需要在关闭弹出窗口后执行onComplete功能。我怎么能延迟onComplete函数。有没有办法检查弹出窗口是否可见,如 code2 所示,以便延迟执行此操作。
代码1:
<a onclick ="showPopup('popup1')" oncomplete="" > Input </a>
代码2:
<a onclick ="showPopup('popup1'); while(isVisible('popup1')){ }"
oncomplete="" > Input </a>
答案 0 :(得分: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是否隐藏或显示弹出窗口,请在JavaScript中使用RichFaces
对象,找到弹出窗口并检查shown
字段。一个例子:
if (RichFaces.$('MyPopupId').shown) {alert('Shown')} else {alert('Hidden')}
查看RichFaces VDL了解详情。