2012-06-18 30 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