はあなたがサンプルコードJavaScript - 特定の値を動的に渡すonclickイベントを追加するにはどうすればよいですか?その明確な場合
を簡単に見てもらえ、私は知りませんが、何行うことになっていますと、イベントが作成されたときにi
が何であったかを示しています。代わりに、イベントが発生したときに、i
の値が表示されていると思います。
問題をどのように解決できますか?クロージャを作成するための
はあなたがサンプルコードJavaScript - 特定の値を動的に渡すonclickイベントを追加するにはどうすればよいですか?その明確な場合
を簡単に見てもらえ、私は知りませんが、何行うことになっていますと、イベントが作成されたときにi
が何であったかを示しています。代わりに、イベントが発生したときに、i
の値が表示されていると思います。
問題をどのように解決できますか?クロージャを作成するための
ラップ機能でループの身体:
for(var i = 0; i < arr.length; i++){
(function(i){ //i inside this function is a local var; not affected by i++
arr[i].onclick = function(){
alert(i);
return false;
};
})(i); //Invoke the function, pass variable i
}
フィドル:[ループで変数の現在の値を使用するようにonclickの設定]のhttp://jsfiddle.net/vXvs2/4/
:)完璧な、私は年齢のためにこれを探してきました。 +1 –
また、DOMノードが変更された場合に備えて、 'arr [i]'を渡すこともできます。 http://jsfiddle.net/vXvs2/5/ –
可能な重複します(http:// stackoverflow.com/questions/6048561/setting-onclick-to-use-current-value-of-variable-in-loop)と数百万の他 – Esailija