0

System.Web.Optimizationフレームワークを使用してJavaScriptをバンドルおよび縮小し、@ section Script {}セクションを使用して、すべてのJavaScriptがページの下部で定義されていることを確認しています。これには、jQueryなどのリソースが含まれます。

今、私のページの1つにAJAX関数があります。この関数が戻ると、部分ビューが返され、DOMに追加されます。このパーシャルビューには、(当然のことながら)jQueryを使用してパーシャルビュー内の要素のイベントハンドラーを接続するフォームとJavaScriptが含まれています。

現在、このJavaScriptをスクリプトタグ内のページで宣言していますが、すべてのJavaScriptが目立たない(つまり、すべて外部ファイルにある)状況に移行しようとしています。

通常、Partialを使用すると、外部JSファイルが親ビューのバンドルで定義されていることを確認しますが、これはAJAXであるため、AJAXが返される前に$(document).ready(...)が起動します。

jQueryの.on()メソッド[非推奨の.live()メソッドに取って代わったようです]を調べていますが、これが最善のアプローチですか、それとも他に検討すべきアプローチがありますか?

前もって感謝します

グリフ

4

1 に答える 1

0

私はこれを2つの異なる方法で行いました。1 つ目は、クリック イベントなどを、部分ビューが読み込まれた後に呼び出す関数に入れることでした。これにより、コードが利用可能になり、部分ビューで実行されます。私が最近学んだ 2 番目の方法は、イベントを少し異なる方法で記述することでした。

$(document).on('click', '.btnSubmit', function(){
    //code
});

このようにイベントを記述すると、ページが読み込まれた後に部分ビューが読み込まれた場合でも発生します。うまくいけば、これが役に立ちます。

于 2013-10-16T03:09:19.447 に答える