2016-07-08 8 views
0

В следующем коде: 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 или нет.

+0

Почему вы не используете 'onhide'? –

+0

Я очень новичок в RichFaces. как использовать onhide? Это похоже на ' – sudarshan

ответ

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 объект в JavaScript, найти всплывающие окна и проверить shown поле. Пример:

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

Проверьте, пожалуйста, RichFaces VDL.

+0

спасибо. Это помогло. – sudarshan

+0

Добро пожаловать; –