現在、私は RaphealJS ライブラリを使用するプロジェクトに取り組んでおり、このような問題が発生するまではすべて問題ないようです。
これを複数回行う代わりに:
dolphinIcon[1].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(1);
});
dolphinIcon[2].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(2);
});
dolphinIcon[3].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(3);
});
なぜ私はこれを行うことができないのですか?
for(var i=0; i<dolphinIcon.length; i++){
dolphinIcon[i].click(function() {
this.attr({
stroke: 'black', 'stroke-width': 2,
fill: 'green'
});
alert(i);
});
}
配列に格納されている各アイコンにそのインデックスの数をアラート()させたいだけですが、forループを使用すると、どのアイコンをクリックしても常に同じ数(配列のサイズ)をアラート()します. これを修正するにはどうすればよいですか?