В следующем коде: code1 функция onClick открывает панель всплывающих окон RichFace. Мне нужно выполнить onComplete fuction после закрытия всплывающего окна. как я могу отложить функцию onComplete. Есть ли способ проверить, отображается ли всплывающее окно или нет, как показано в code2, так что это выполнение задерживается.
code1: <a onclick ="showPopup('popup1')" oncomplete="" > Input </a>
code2: <a onclick ="showPopup('popup1'); while(isVisible('popup1')){ }"
oncomplete="" > Input </a>
Как проверить, отображается ли панель всплывающего окна richface или нет.
ответ
Просто используйте 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.
спасибо. Это помогло. – sudarshan
Добро пожаловать; –
Почему вы не используете 'onhide'? –
Я очень новичок в RichFaces. как использовать onhide? Это похоже на ' – sudarshan