我有调整大小窗口的问题。我使用来自primefaces jsf库的图表,当窗口调整大小时,图表没有调整大小,我想用新的大小窗口ajax刷新图表。
你想知道在p:panel或p:outputPanel ??
中如何捕获resize事件答案 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?