ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript は for ループでイベントをバインドし、イベント パラメーターが異なる場合の状況を解決します_JavaScript ヒント

JavaScript は for ループでイベントをバインドし、イベント パラメーターが異なる場合の状況を解決します_JavaScript ヒント

WBOY
リリース: 2016-05-16 17:03:14
オリジナル
1100 人が閲覧しました

場合によっては、多数の同様のイベントに応答する必要がありますが、各イベントのパラメーターは異なります。最初は、for ループを使用するだけで非常に簡単だと思いましたが、最後のパラメーターが使用されていることがわかりました。 。 。 。

オンラインで情報をチェック! ! !その結果、マスターはクロージャを使用して

コードを解決するように言いました:


for(var i=0;ibtns[i].onclick=(function(i){
return function() {alert(i)}
} )(i)
}

おそらく理由は、btns[i].onclick=function(){alert(i)} が直接使用すると、JavaScript エンジンはまず for ループ内のコードを変換します。実行後、

ユーザーが onclick イベントを開始すると、JavaScript は i を検索し、操作が完了した後の結果は i になります。これは 10

ですが、クロージャで処理すると、関数のローカル変数になります。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート