0

私のプロジェクトでは、いくつかのインスタンス変数を使用している部分的なインライン javascript があります。スクリプトが実行されていない ajax 呼び出しが成功した後にその部分を再レンダリングするとき。

どうすればその問題を解決できるか教えてください。

例えば

_partial.html.erb

 <div class="someclass"></div>
 <script>
    $(document).ready(function(){
       $(".someclass").hide();
    });
 </script>

scrip タグは、js.erb ファイルからこの部分を置き換える際に実行されません。

4

3 に答える 3

4

あなたのページは既に読み込まれています。readyイベントはずっと前に過ぎ去り、今では誰も聞いていません。

したがって、$(document).readyAjax で読み込まれたスクリプトがある場合、コードは実行されません。

解決:

「ready」イベントを削除して、コードを直接起動します。

 <div class="someclass"></div>
 <script>
   $(".someclass").hide();
 </script>
于 2013-05-12T10:30:45.477 に答える
2

ajax成功イベントでDOMを手動で更新した後、readyイベントがトリガーされないように思われるため、コールバック関数は実行されていません。

于 2013-05-12T08:51:57.010 に答える
1

最後に、私の要件に適していると思う答えは、javascriptをパーシャルに入れ、それに応じてand otherjs.erbでレンダリングすることであることがわかりました。html.erbjs.erb files

于 2013-05-14T05:24:59.700 に答える