Im folgenden Code: code1 onClick-Funktion öffnet ein RichFace-Popup-Fenster. Ich brauche die onComplete-Funktion, die nach dem Schließen des Popups ausgeführt werden soll. Wie kann ich die OnComplete-Funktion verzögern? Gibt es eine Möglichkeit zu überprüfen, ob das Popup sichtbar ist oder nicht, wie in der code2 gezeigt, so dass diese Ausführung verzögert ist.
Die code1: <a onclick ="showPopup('popup1')" oncomplete="" > Input </a>
Die code2: <a onclick ="showPopup('popup1'); while(isVisible('popup1')){ }"
oncomplete="" > Input </a>
So prüfen Sie, ob das Popup-Fenster richface sichtbar ist oder nicht
Antwort
Verwenden Sie einfach onhide
Attribut aus rich:popupPanel
. Die Beschreibung davon ist: Der clientseitige Code, der nach dem Popup ausgeführt wird, verschwindet.
<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>
Wenn Sie wirklich in JavaScript überprüfen wollen, ob die Pop-up versteckt oder sichtbar ist, verwenden Sie dann RichFaces
Objekt in JavaScript, Pop-up finden und shown
Feld überprüfen. Ein Beispiel:
if (RichFaces.$('MyPopupId').shown) {alert('Shown')} else {alert('Hidden')}
prüfen RichFaces VDL für weitere Informationen.
danke. Es half. – sudarshan
Gern geschehen; -] –
Warum benutzen Sie nicht 'onhide'? –
Ich bin RichFaces sehr neu. Wie benutzt man Onhide? Ist es so? ' – sudarshan