ウィンドウのサイズ変更に問題があります。私はprimefaces jsfライブラリのチャートを使用していますが、ウィンドウのサイズが変更されている場合、チャートのサイズは変更されず、新しいサイズのウィンドウでチャートをajaxで更新したいと考えています。
p:panel または p:outputPanel でサイズ変更イベントをキャッチする方法を知りたいですか??
ウィンドウのサイズ変更に問題があります。私はprimefaces jsfライブラリのチャートを使用していますが、ウィンドウのサイズが変更されている場合、チャートのサイズは変更されず、新しいサイズのウィンドウでチャートをajaxで更新したいと考えています。
p:panel または p:outputPanel でサイズ変更イベントをキャッチする方法を知りたいですか??
おそらく、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 ?