【发布时间】:2012-02-11 01:55:17
【问题描述】:
我在 <canvas> 元素中有两张图片。
var ctx = document.getElementById('canvas').getContext('2d');
var img1 = new Image();
img1.src = 'cloud.jpg';
img1.name = "Image 1";
img1.onload = function() {
ctx.drawImage(img1, 0, 0);
};
var img2 = new Image();
img2.src = 'eleph.png';
img2.name = "Image 2";
img2.onload = function() {
ctx.drawImage(img2, 250, 250);
};
现在,当用户在画布内单击时,我想查找单击了哪个对象。
例如,当用户单击画布内的相应图像时,提醒img1.name 或img2.name。
请提供一些指导如何做到这一点。谢谢!
【问题讨论】:
-
到目前为止您尝试过什么?
alert()还是console.log()?捕获点击事件? -
通常您需要使用shadow canvas。
-
我已经尝试过 alert(e.target.name) 并将其返回给我画布对象。
-
如果你使用像 fabric.js 这样的画布库,这将是微不足道的。
-
感谢 minitech!它以某种方式解决了我的问题,但我认为如果我在画布内使用动画图像,这将是浏览器的内存负载。
标签: javascript html canvas