【发布时间】:2021-01-29 11:33:27
【问题描述】:
我是编程新手。我对提交按钮有疑问。我第一次单击它时,图像不会显示在画布上。下面是我的代码。我已经使用 onload 方法来加载图像。我正在使用 Chrome。
generateBtn = document.getElementById('button1');
canvas = document.getElementById('meme-canvas');
ctx = canvas.getContext('2d');
canvas.width = canvas.height = 0;
let button1 = document.getElementById('button1');
button1.addEventListener('click', function(e) {
console.log("clicked", this);
e.preventDefault();
let imageurl = document.getElementById('text1').value;
let img = document.createElement('img');
img.addEventListener('error', imageNotFound);
img.crossOrigin = "anonymous";
img.src = imageurl;
generateMeme(img, topTextInput.value, bottomTextInput.value);
})
function imageNotFound() {
alert('That image was not found.');
}
}
function generateMeme(img, topText, bottomText) {
// Size canvas to image
canvas.width = img.width;
canvas.height = img.height;
// Clear canvas
ctx.clearRect(0, 0, canvas.width, canvas.height);
// Draw main image
img.onload = function() {
ctx.drawImage(img, 0, 0);
}
}
【问题讨论】:
-
你在
imageNotFound函数之后多了一个}。
标签: javascript css html5-canvas addeventlistener