Q
获取组件的坐标
2
A
回答
3
除了BalusC的答案,这里有一个例子,其中一个组件上的点击与id=placeholder
(也许一个链接或按钮),将打开直接触发部件下面的另一个组件(id=menu
)。如果鼠标从触发部件移开,菜单将消失:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery("#placeholder").click(function(event) {
//get the position of the placeholder element
var pos = jQuery(this).offset();
var height = jQuery(this).height();
//show the menu directly below the placeholder
jQuery("#menu").css({ "left": pos.left + "px", "top": (pos.top + height) + "px" });
jQuery("#menu").show();
});
// hide the menu on mouseout
jQuery("#placeholder").mouseout(function(event) {
jQuery("#menu").hide();
});
});
</script>
与id=menu
该组分可以是div
或JSF h:panelGroup
或任何其它部件。该style
属性与display: none
最初将隐藏的组件:
<h:panelGroup style="position: absolute; display: none;" id="menu">
<!-- content here -->
</h:panelGroup>
确保jQuery的id选择获取该组件的正确的ID。例如。如果你的元素是一个形式里面有id=form1
,jQuery的呼叫必须是这个样子:
jQuery("#form1\\:placeholder").click(function(event)
注意双反斜线。
5
不,没有。位置依赖于浏览器(客户端)。在客户端也完全没有JSF的手段,它只是纯粹的HTML/CSS/JS。该位置只能从HTML DOM元素中提取。您必须将它从JS传递给JSF,或者完全使用JS而不是JSF完成业务工作。
随着PrimeFaces附带jQuery,检索元素相对于文档位置的最佳方法是使用jQuery.offset()
。
var $element = jQuery('#someid');
var offset = $element.offset();
var x = offset.left;
var y = offset.top;
// ...
-3
我推荐使用像RichFaces或IceFaces这样的JSF组件库。它们中的许多都具有AJAX功能和JavaScript库集成,因此具有用于执行此类事情的组件。
相关问题
- 1. 在java中获取组件坐标
- 2. 获取坐标
- 3. 获取jQuery元素数组的坐标
- 4. 使用snap.svg获取svg组的坐标
- 5. 获取google map_click事件的坐标Ionic
- 6. JFreeChart获取鼠标坐标
- 7. 获取QPushButton的坐标
- 8. 获取NMAMapMarker的坐标
- 9. 获取矩形的坐标
- 10. 获取元素的坐标
- 11. 获取网格的坐标
- 12. 获取imageview上的坐标
- 13. 获取GPS坐标:Android的
- 14. 获取表格的坐标
- 15. 获取面板的坐标
- 16. 获取ActionEvent的坐标
- 17. 获取glFrustum的坐标
- 18. 获取组件可见区域的全局坐标
- 19. 获取并设置Flex AS3中组件的全局坐标
- 20. 从GridBagLayout中的特定坐标获取组件
- 21. 如何使用java中的google api获取两组坐标的坐标
- 22. PHP从KML文件获取坐标
- 23. 获取鼠标坐标的Qt的OpenGL
- 24. 获取图形坐标Matplotlib注释标签的坐标
- 25. 从HashMap获取坐标
- 26. Jquery JRAC获取坐标
- 27. AS3 - 获取边缘坐标
- 28. 获取Ipad touchstart坐标
- 29. WP7获取设备坐标
- 30. Winfo_x winfo_y获取坐标
我正在使用primefaces,但我不知道这样的设施.. –
我也不是很熟悉那个。但是,如果您发现某个功能可以开箱即用,那么没有任何技术可以阻止您添加更多的库。他们(应该)都很好地一起玩。 – Mac
您应该查看服务器端(JSF)和客户端技术(javascript)的差异。 –