私は richfaces / ajax4jsf を使用してページの領域を部分的に再レンダリングします。
<a4j:commandButton value="..." reRender="infoBlock" action="#{...}"/>
<h:panelGrid id="infoBlock">
<h:outputText value="..."/>
<f:verbatim>
<script type="text/javascript">
console.log('test')
</script>
</f:verbatim>
</h:panelGrid>
私の問題は、console.log('test')
infoBlock が再レンダリングされたときにスクリプトが再実行されないことです。
ちなみに、スクリプトタグを削除oncomplete="console.log('test')"
して上記の例で使用できることは承知しています。ただし、実際のアプリケーションでは、スクリプトはより複雑で、私が使用するコンポーネントによってレンダリングされるため、これを変更するのは非常に難しい場合があります。
だから私の質問は:再レンダリングされた領域でスクリプトを再実行する方法は?