2013-11-04 14 views
2

我有调整大小窗口的问题。我使用primefaces jsf库中的图表,并且当窗口调整大小时,图表不会调整大小,我想要使用新的大小窗口刷新图表。在primefaces中调整大小窗口的事件

你想知道如何在p:panel或p:outputPanel中捕获调整大小事件?

回答

3

也许你可以结合使用HTML onresize事件和p:remoteCommand的一些操作。

事件在HTML是:

<body onresize="updatechartpanel"> 
... 
</body> 

...但它很可能是JSF woudn't验证上面,这样你就可以从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?

+0

谢谢。这是我试过的解决方案。 –