0

重複の可能性:
ループ内の Javascript クロージャー - 簡単な実用例

for (i=0; i<N; i++) {
   $.get("script"+ i +".jsp", function() {
       //I want to use i here
       //but by the time the ajax request comes back i==N, but I want the old i
   })
}

だから私はこのコードを手に入れたので、私の応答からのものよりも良い方法があるかどうか疑問に思っていました. これはjquery ajax呼び出しに関するものではありません。イベントオブジェクトを介して「i」を渡す方法があることは承知しています。私が思いついたものよりも優れた一般的な解決策が必要です。

4

1 に答える 1

1

i を保持する自己実行関数を作成することはできますが、非常に醜いです:

for (i=0; i<N; i++) {
   (function(i) {
      $.get("script"+ i +".jsp", function() {
          //I want to use i here
          //but by the time the ajax request comes back i==N, but I want the old i
      })
   } (i) );
}
于 2013-01-11T14:04:03.817 に答える