
言語はJavaScript、ライブラリにCreateJSを使用しています。
for文で複数のボタンを作成し、それぞれをクリックした際に何番目のボタンがクリックされたか分かるようにしたいと考えています。
試しに下記のソースを作成し、console.logで確かめたところ、全て5番目になってしまいました。
これを想定通りに表示するにはどうすればよろしいでしょうか?
よろしくお願いします。
lang=javascript
1var stage = new createjs.Stage('canvas'); 2var shapes = []; 3 4for(var i = 0; i < 5; i++) { 5 shapes[i] = new createjs.Shape(); 6 7 shapes[i].graphics.beginFill('Blue') 8 .drawRect(20, i * 50, 100, 40); 9 10 shapes[i].addEventListener('click', function () { 11 console.log('clicked : ', i); // どれをクリックしても'clicked : 5'となる 12 }); 13 14 stage.addChild(shapes[i]); 15}

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/04/16 15:05