キャンバスの機能でイメージの読み込みを分離しようとしています。 それはそのJavascript処理イメージの読み込み - event.target.resultが空です
HTML
<label>Image File:</label> <br/> <input type="file" id="imageLoader" name="imageLoader" /> <canvas id="imageCanvas"></canvas>
javascriptの
var imageLoader = document.getElementById('imageLoader');
imageLoader.addEventListener('change', handleImage, false);
var canvas = document.getElementById('imageCanvas');
var ctx = canvas.getContext('2d');
function handleImage(e){
var reader = new FileReader();
reader.onload = function(event){
var img = new Image();
img.onload = function(){
canvas.width = img.width;
canvas.height = img.height;
ctx.drawImage(img,0,0);
}
img.src = event.target.result;
}
reader.readAsDataURL(e.target.files[0]);
}
http://jsfiddle.net/influenztial/qy7h5/
しかし、私はそれを分離しようとすると、それが立ち往生のように完璧に動作します何らかの理由でevent.target.result
がundefind
となっています。
コードはここに
http://jsfiddle.net/qy7h5/1840/
いただきましたが間違っているのですか?それについていくつかのベストプラクティスはありますか?
を更新当該**最小の関連するコードを含めてくださいは** –
@JaromandaXいい、 – DanilGholtsman
'reader.onload =(関数(イベント)行わ{onReaderLoad(イベント);} )(e) 'は' reader.onload = unReaderLoad(e) 'と実質的に同じです(' reader.onload'の値に関して) 'reader.onload = undefined'と同じです – Andreas