我有调整窗口大小的问题。我使用来自 primefaces jsf 库的图表,当窗口调整大小时,图表不会调整大小,我想用新大小的窗口刷新图表。
你想知道如何在 p:panel 或 p:outputPanel 中捕获 resize 事件吗?
我有调整窗口大小的问题。我使用来自 primefaces jsf 库的图表,当窗口调整大小时,图表不会调整大小,我想用新大小的窗口刷新图表。
你想知道如何在 p:panel 或 p:outputPanel 中捕获 resize 事件吗?
也许您可以使用 HTML onresize 事件和 p:remoteCommand 组合一些操作。
HTML 中的事件将是:
<body onresize="updatechartpanel">
...
</body>
...但是 JSF 很可能不会验证上述内容,因此您可以从 JavaScript 绑定事件:
<script type="text/javascript">
window.onresize = function(event) {
updatechartpanel();
}
</script>
其中updatechartpanel()是简化的 PrimeFaces远程命令,定义如下:
<p:remoteCommand name="updatechartpanel" update=":myform:mychartpanel" />
准确地说,没有远程执行任何操作,因为我们没有从该命令调用任何 bean操作。但它强制更新给定的组件。
尽管如此,请注意,几乎每个调整大小的像素都会调用此事件(在鼠标操作期间也是如此),因此有必要避免过于繁琐的操作,因为它在这里提出:JQuery: How to call RESIZE event only once it's FINISHED resizing ?