0

次のような非常に単純な JSF フォームを手元に持っています。

<h:inputText id="number" value="#{bean.value}"
styleClass="integer" onkeyup="update()" />

次のような jQuery セレクターもあります。

jQuery(document)
        .ready(
                    jQuery(".integer")
                            .keydown(
                                    function(event) {
                                        //do your stuf


        });

これで、この入力の周りのコンテナーを更新するまで、この関数はかなりうまくトリガーされます。ちなみにui:repeatです。update() メソッドは、ラベルのみを更新します。更新後、ページをリロードするまで関数はトリガーされません。この jquery はファイルから head 部分に含まれていますが、更新後も残っていますが、関数はトリガーされませんか? 更新後、どうすれば再び動作するようになりますか?

4

2 に答える 2

0

要素がイベントにバインドされなくなったため、更新後にこれは機能しません。この問題を解決するには、Javascript の関数を作成する必要があります。

<script type="text/javascript">
function test(){
jQuery(".integer")
                            .keydown(
                                    function(event) {
                                        //do your stuf


        });
};
jQuery(document)
        .ready(test();
              );      
</script>

コンポーネントの更新では、ターゲット コンポーネントが次のようにこのtest()関数を呼び出す必要があります。

<p:commandButton oncomplete="test();" update=":COMPONENT_ID_HERE" ..../>
于 2013-05-27T01:38:12.770 に答える