11

Site.Master ページで $(document).ready() イベントを定義しましたが、部分ビュー (メッセージとエラー メッセージの表示に使用) の 1 つで別の $(document).ready() も定義したいと考えています。 、そして私はすべてのページとすべての部分ビューでこの部分ビューを呼び出しています...

部分ビューはページに表示され、モーダルポップアップも使用しています...これを試しましたが、部分ビューの準備完了イベントが発生しません

いくつか質問があります。

  • まず、私がやろうとしていることをすることは可能ですか...
  • 部分的なビューを持つページがあり、そのためページには 2 つの $(document).ready() イベントがあるため、ページが読み込まれると、これら 2 つのイベントの間に衝突がありますか ...

そして、誰かがいくつかの例を提供できる場合...

4

3 に答える 3

6

はい、ページに複数の準備完了イベントハンドラーを含めることができます。それらをサイトマスター、部分ビュー、およびビューページ自体に必要な数だけ配置できます。それらはすべてスクリプトタグで囲む必要があります。それらは、最終的なレンダリングされたページに含まれる順序で起動します。パーシャルがページに1回だけ含まれるようにするか、そのハンドラーが複数回呼び出されても問題にならないように注意する必要があることに注意してください。

例(完全ではありません):

マスター:

 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript" src="jqueryui.js"></script>
 <script type="text/javascript">
      $(function() {
           // do something for whole page
      });
 </script>

 @Html.Partial( "ErrorDialog" )

部分的(ErrorDialog)

 <div id="errorDialog" style="display: none;" title="Error">
     <p>An error occurred</p>
 </div>
 <script type="text/javascript">
      $(function() {
          $('#errorDialog').dialog({
             modal: true,
             autoOpen: false,
             // more options
          });
      });

      function showError(msg) {
          $('#errorDialog').find('p').html(msg)
                           .stop()
                           .dialog('open');
      }
 </script>
于 2011-08-06T13:27:33.663 に答える
5

はい$(document).ready()、この関数を呼び出す前に、jquery ファイルが含まれていることを確認してください。Functions内部$(document).ready() で呼び出され、要求された順序で呼び出されます。

jQuery - 複数の $(document).ready ...?

于 2011-08-06T13:24:02.490 に答える
1

そうです、前の部分ビューにエラーがない限り、必要な数の $(document).ready() を持つことができ、すべてに対して起動します。

于 2015-05-14T01:55:49.617 に答える