该链接包含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>
但弹出窗口出现在随机位置,即有时在栏下,然后必须滚动,有时在上面。是否有可能确保它在连接到它时始终显示在条形图的正上方?
答案 0 :(得分:1)
top
和left
参数设置面板的位置,将其更改为您希望面板的位置,或直接调用方法:
RichFaces.component('panelId').show(null, {top: "800px", left: "500px"})
您正在使用专门设置栏下面板的示例部分,因此当面板出现在那里时不应该感到惊讶。