Как проверить, видна ли всплывающая панель richface или нет
В следующем коде: 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>
1 ответ
Просто используйте 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
объект в JavaScript, найти всплывающее окно и проверить shown
поле. Пример:
if (RichFaces.$('MyPopupId').shown) {alert('Shown')} else {alert('Hidden')}
Проверьте RichFaces VDL для получения дополнительной информации.