以下は、異なる色の6つのボックスを作成するループです。ボックスをクリックすると、変数 "color"がボックスの色に変わります。このコードでは明らかな問題があり、クローズです(すべてのボックスが配列の最後のクラスを取得し、boxColors [i]はイベント内で使用できません)。エレガントな方法?事前に感謝します。forループ(イベント)のクロージャに関する問題
var boxColors = ['red', 'green', 'blue', 'yellow', 'white', 'black'];
for (var i = 0; i < boxColors.length; i++){
$('<div/>', {
'class': boxColors[i]
}).appendTo(toolboxSection1).click(function(){
color = boxColors[i];
});
}
*」...すべてのボックスには、最後のクラスを取得します配列で... "*あなたはそれについては確かですか?各要素はArrayから一意のクラスを取得する必要があるので、唯一の問題はイベントハンドラ(要素の 'className'プロパティに簡単にアクセスできる)でなければなりません。 –