3

ウィンドウのサイズ変更に問題があります。私はprimefaces jsfライブラリのチャートを使用していますが、ウィンドウのサイズが変更されている場合、チャートのサイズは変更されず、新しいサイズのウィンドウでチャートをajaxで更新したいと考えています。

p:panel または p:outputPanel でサイズ変更イベントをキャッチする方法を知りたいですか??

4

1 に答える 1

4

おそらく、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 ?

于 2013-11-04T18:32:03.787 に答える