1

私は Client Side Validations (こちら) と呼ばれる Rails gem を使用しています。これはその名前が示すとおりです。ページが最初にロードされたときにのみ機能し、再度は機能しないことに気付きました。その後、それは ajax ロード全体が ready() イベントを発生させないためであることに気付きました。そのため、ライブラリの関連部分を pageinit を使用するように切り替えましたが、何も起こりません。警告メッセージが表示されますが、検証が開始されません。

動作しなくなった jQM 用に調整されたコード。

  // $(document).bind('pageinit', function() {
  //   alert(1)
  //   ClientSideValidations.disableValidators();
  //   return $(ClientSideValidations.selectors.forms).validate();
  // });

元の「作業」コード。

 $(function() {
    alert(1)
    ClientSideValidations.disableValidators();
    return $(ClientSideValidations.selectors.forms).validate();
  });

このコード スニペット以外は何も変更していません。

4

2 に答える 2

1

pageInit にいるとき、Web ページのコンポーネントはまだそこにないため、検証を設定したり、何かを見つけようとすることはできません。主に、グローバル構成、変数、および事前構成を設定するために使用されます。

Mayu が述べたように、それを行う正しい方法は、pageshow で on を使用することです。

于 2013-05-28T13:54:12.083 に答える