ローカルフォルダから複数の画像を呼び出しサムネイルを作成、そのURL.createObjectURLを正常に呼び出せません。本当の処理の代わりにchromeのデベロッパーツールのコンソールにてコメントにしましたが、どうも後に並ぶサムネイルクリック時にはURLが複数呼ばれているようで、コメントの右に回数を表す数字が付きます。おそらくこれが解決できれば本処理もうまくいくと思います。
javascript
1document.getElementById( "target" ).addEventListener( "change", function() { 2 var fileList = this.files ; 3 for( var i=0,l=fileList.length; l>i; i++ ) { 4 var blobUrl = window.URL.createObjectURL( fileList[i] ) ; 5 6 $('.target').append('<a><img id="' + i + '" class="prepep" src="' + blobUrl + '" style="width:5vw"></a>'); 7 $('.prepep').on('click',function(){ 8 var src = $(this).attr('src'); 9 console.log('追加する画像のURLは' + src); 10 }); 11 } 12 });
例:5つの画像を呼び出し、左から順にクリックした場合
Console
⑤追加する画像のURLはblob:null/bf6f3004-5c5d-45d1-b290-54da289a08d6
④追加する画像のURLはblob:null/ccab700f-004a-45cb-b4a6-f770888295c9
③略
②略
追加する画像のURLはblob:null/dea1a5e5-2407-441f-a370-665c6fbc70d9
for文の回し方に問題があるのでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 14:54