0
イメージのリストをロードして、Dojoを使用してイメージをクリックすると、そのイメージのID画像が表示されます。下記のコードをご覧ください。イメージが読み込まれましたが、それぞれをクリックすると、ログには「10143」のみが書き込まれました。何が起こったのか?助けてください!dojoを使用してプログラマティカルにイメージのリストを追加し、それぞれにclickイベントを追加します
var PictureIds = ['10141', '10142', '10143'];
var resultUl = domConstruct.create('ul');
for (i = 0; i < PictureIds.length; i++){
var image= domConstruct.create('img', {
id: PictureIds[i],
src: "./images/"+ PictureIds[i] + ".jpg",
class: "photo"});
var li= domConstruct.create('li');
domConstruct.place(image, li);
domConstruct.place(li, resultUl);
on(image, 'click', function(){
console.log(image.id);
});
}
domConstruct.place(resultUl,'pictures');
<div id="pictures"></div>
wow!単に働いた!なぜforループを使うのがうまくいかないのか分かりません。 –
forループとは関係ありません。 forループを使用して間違ったことはありません。しかし、dojoを使用している間は、 'dojo/array'を使用することをお勧めします。 forループを使用した別の実例です。 https://jsfiddle.net/an90dr/493khnug/10/ – AndreasH