ホームページ  >  記事  >  ウェブフロントエンド  >  Javascript ループ変数は dom イベントを登録します - 強力な Closure_JavaScript スキル

Javascript ループ変数は dom イベントを登録します - 強力な Closure_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 18:20:061091ブラウズ

今日この問題が発生しました:

コードをコピー コードは次のとおりです:

//pseudocode
for (var i=0; iaddEvent(obj[i], "click", func(i))
}

結果が表示されました。 i=n のときにすべての DOM イベントが登録されました。いくつかの情報を確認したところ、これはループ処理中に変更されたとのことで、それに応じて登録されたイベントも変更されました。 >

コードをコピー コードは次のとおりです:
for (var i=0; i< ; n; i ) {
(関数 (i){addEvent(obj[i], "クリック", 関数 (){func(i);});})(i); >

変数への永続的な参照を維持するには、bipack を使用します。これは非常に強力です。
(もっと良い方法があれば、ぜひご教授ください(*^_^*)ふふふ…)
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。