2012-06-18 31 views
0

我有一個燈箱只有一個圖像。是的,我知道它不是真的那麼想要。Primefaces燈箱:如何調用hide() - 方法

<p:lightBox styleClass="imagebox" widgetVar="light"> 
    <h:outputLink value="#{imageBean.getImageResourceLink(id)}" title="#{name}" onclick="light.hide();"/> 
    <h:graphicImage library="thumb_lib" name="#{id}" width="165"/> 
    </h:outputLink> 
</p:lightBox> 

現在我希望燈箱被關閉/隱藏,當我點擊裏面打開的燈箱。 這不起作用。只有當我點擊燈箱隱藏的燈箱導航箭頭時。好,躲起來不知何故起作用。但是,如何通過在燈箱內單擊來隱藏它?

我該如何做到這一點?

強尼

回答

1

沒有看到p:lightBox

所以我猜你可以使用jQuery的幫助內的任何「點擊」事件...
以下應該只是罰款(添加到您的js文件或腳本標籤)

jQuery(document).delegate(".imagebox", "click", function (event) { 
    light.hide(); 
}); 

jQuery(document).delegate(".ui-lightbox-content-wrapper", "click", function (event) { 
    light.hide(); 
}); 

如果你的lightBox有一個ID可以使用....delegate("#idOfLightBox ",....

+0

嗨丹尼爾,謝謝你的回答。這對我不起作用,但你帶領我走向正確的方向。由於html內容是在運行時添加的,因此我選擇p:lightbox的onShow回調函數。 (函數(事件){light.hide());();} });「> ...'。 ** ui-lightbox-content-wrapper **是生成的div的類,其中的lightbox是。 – user871611

+0

不客氣,我看了第一個primefaces展示例子,這就是爲什麼要把這個類作爲一個錨點......(重要的部分是背後的想法......) – Daniel