在primefaces中调整大小窗口的事件

时间:2013-11-04 12:15:53

标签: java javascript java-ee primefaces charts

我有调整大小窗口的问题。我使用来自primefaces jsf库的图表,当窗口调整大小时,图表没有调整大小,我想用新的大小窗口ajax刷新图表。

你想知道在p:panel或p:outputPanel ??

中如何捕获resize事件

1 个答案:

答案 0 :(得分:3)

也许您可以使用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?