関数をオーバーライドしたいのですがonclickActiveItem
、現在アクティブなアイテムのインデックスを取得するかonMakeActive
、Primefaces で何かを呼び出す必要があります。どうすればよいですか?
次の方法で関数を呼び出すことができました:
<p:contentFlow value="#{imagesView.images}" var="image" widgetVar="img">
<p:graphicImage value="/images/imgs/img#{image}.jpg" styleClass="content" onclick="select(#{image})" />
</p:contentFlow>
次にjavascriptで:
function setImageIndex(i){
return;
}
function select(i) {
ContentFlowGlobal.Flows[0].setConfig({onclickActiveItem:setImageIndex});
}
しかし、私がこの方法を試した場合:
ContentFlowGlobal.Flows[0].setConfig({onclickActiveItem:setImageIndex(i)});
動作しますが、「onclickActiveItem は関数ではありません」などの多くのコンソール エラーが記録されます。
このようにして、画像自体を開くデフォルトのアクションを削除し、onclick を使用して呼び出しを行うことができます。ContentFlow js をオーバーライドするより良い方法が必要ですが、それでも間違っていると思います。
Primefaces で ContentFlow JavaScript 構成をオーバーライドする正しい方法は何か考えはありますか?