1
我有如下因素的代码:为什么这些变量“未定义”?
var canvasData;
var canvas2imgval;
imageObj1.onload = function() {
ctx.drawImage(imageObj1, 0, 0, wdOb1, hgOb1);
imageObj2.onload = function() {
ctx.drawImage(imageObj2, imgposLeft, imgposTop, wdOb2, hgOb2);
//img = c.toDataURL("image/png");
//document.write('<img src="' + img + '" width="256" height="256"/>');
//canvas2img
canvasData = c.toDataURL("image/png");
}
}
console.log("canvasData : "+canvasData);
$("#canvas2img").val(canvasData) ;
canvas2imgval = $("#canvas2img").val() ;
console.log("canvas2imgval1 : "+canvas2imgval);
问题是,当我观看这两个变量的值,是canvasData
undefined
和canvas2imgval1
没有价值。 我不知道我的代码有什么问题。通常,这两个变量都用JavaScript关键字var
公开标记。
'canvasData = c.toDataURL(“image/png”);'什么是'c'? 'canvas2imgval = $(“#canvas2img”)。val();'那个元素是否存在? – Tro
您可以在映像onload事件处理程序中为这些变量赋值,但在执行这些处理程序之前尝试访问它们。 – pawel
您在imageObj1加载之前使用这些变量。这是HTTP请求,您的浏览器将加载HTML然后JavaScript然后其他对象。 –