以下代码将打开一个rich:popupPanel,与h:commandButton垂直对齐并直接位于其下方:
<h:commandButton value="Open popup" id="openBtn">
<rich:componentControl event="click" target="myPopup"
operation="show">
<a4j:param name="event" value="event" noEscape="true" />
<rich:hashParam>
<a4j:param noEscape="true" name="top"
value="jQuery(#{rich:element('openBtn')}.parentNode).offset().top + jQuery(#{rich:element('openBtn')}.parentNode).height()" />
<a4j:param noEscape="true" name="left"
value="jQuery(#{rich:element('openBtn')}.parentNode).offset().left" />
</rich:hashParam>
</rich:componentControl>
</h:commandButton>
<rich:popupPanel id="myPopup" modal="false" autosized="true" resizeable="false" ....
现在我希望弹出窗口显示在用户点击<h:commandButton>
时光标所在的位置,但我无法找到如何执行此操作(很遗憾,我没有任何练习jQuery的)。你能帮我吗?
由于
答案 0 :(得分:1)
也许你应该试试这个:
<a4j:param noEscape="true" name="top"
value="jQuery(#{rich:element('openBtn')}.parentNode).offset().top + jQuery(#{rich:element('openBtn')}.parentNode).height() - $(window).scrollTop()" />
设置&#34; top&#34;的值到元素的位置减去滚动条的垂直位置。