-3
$.get("MyPage.aspx", {foo:"bar"}, function(results){
  Some Js code here.
});

質問-MyPage.aspxには、window.onloadメソッドがあります。これは実行されていません。

あなたのコメント?

4

2 に答える 2

1

ajax呼び出しで新しいHTMLをフェッチしたからといって、window.onloadが再度起動することはありません。ドキュメントごとにwindow.onloadイベントは1つだけです。

.get()ajax呼び出しが完了すると、呼び出しにはすでに完了機能があります。その完了呼び出しから作業を行います。

ロードされたコードで目的のコードをトリガーするために私が知っている唯一の方法は、最初にそのコードをドキュメントに配置し、次に次のことを行うことです。

  1. onloadの実行を待つ代わりに、ajax呼び出しが完了した後、手動で実行したいロードされたコードで目的の関数を呼び出します(たとえば、onloadで実行されるのと同じコード)。
  2. コンテンツをiframeに配置します(iframeは独自のonloadイベントを取得します)。
于 2012-12-17T07:05:43.553 に答える
-1

$.get()Webサーバーからのみファイルを取得します。

window.onloadHTMLファイルが表示されている場合などを実行するのはブラウザです。ファイルをロードしてコンテンツを取得するだけの場合、クライアント側のJSコードは実行されません。

于 2012-12-17T07:06:02.270 に答える