如何使富人脸向上弹出popuppanel

时间:2015-08-19 10:54:17

标签: css jsf-2 position richfaces popuppanel

该链接包含richfaces 4 popuppanel的示例: richfaces popuppanel example

以下是代码:

<rich:toolbar height="26px" id="tb">
    <rich:toolbarGroup location="right">
        <h:outputLink value="#">
            <rich:componentControl event="click" operation="show" target="ls">
                <a4j:param name="event" value="event" noEscape="true" />
                <rich:hashParam>
                    <a4j:param noEscape="true" name="top"
                               value="jQuery(#{rich:element('tb')}).offset().top + jQuery(#{rich:element('tb')}).height()" />
                    <a4j:param noEscape="true" name="left"
                               value="jQuery(#{rich:element('tb')}).offset().left + jQuery(#{rich:element('tb')}).width() - p_width" />
                </rich:hashParam>
            </rich:componentControl>
            Search
        </h:outputLink>
    </rich:toolbarGroup>
</rich:toolbar>
<rich:popupPanel header="Enter Search Terms" id="ls" autosized="true" modal="false" moveable="false" resizeable="false" followByScroll="false" >
    <h:panelGrid columns="3">
        <h:outputText value="Search:" />
        <h:inputText />
        <h:outputLink onclick="#{rich:component('ls')}.hide(event); return false;" value="#">Search
        </h:outputLink>
    </h:panelGrid>
</rich:popupPanel>
<h:outputScript type="text/javascript" target="body">
    p_width = #{rich:component('ls')}.width();
</h:outputScript>

但弹出窗口出现在随机位置,即有时在栏下,然后必须滚动,有时在上面。是否有可能确保它在连接到它时始终显示在条形图的正上方?

1 个答案:

答案 0 :(得分:1)

topleft参数设置面板的位置,将其更改为您希望面板的位置,或直接调用方法:

RichFaces.component('panelId').show(null, {top: "800px", left: "500px"})

您正在使用专门设置栏下面板的示例部分,因此当面板出现在那里时不应该感到惊讶。