请帮帮我:
在下面的画布中创建可点击的区域,我可以将onmousedown = events分配给。我知道如何使用隐形DIV来做到这一点,但我认为在画布上有一种更优雅的方式来做我不知道的事情。
当我单击其中一个区域时,想要将图像名称传递给一个函数,以便将显示的图像更改为另一个图像,然后将其更改为onmouseup。
如果你只给我一个区域和一个mousedown / mouseup示例,我可以做其余的...谢谢。
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<canvas id="myCanvas" width="506" height="319" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
<script type="text/javascript">
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=new Image();
img.onload = function(){
ctx.drawImage(img,0,0);
};
img.src="firstImage.gif";
</script>
/////////HERE NEED/////////
CREATE CLICKABLE REGION <region>
<region>
onmousedown=changeCanvasImage(secondImage.gif) //change image on click
onmouseup=changeCanvasImage(firstImage.gif) /change it back when done
</region>
</body>
</html>
答案 0 :(得分:5)
canvas元素可以触发事件,但画布中的图形元素不能。要做到这一点,您需要自己实现它,方法是在点击它时检测position of the mouse on the canvas并将值与画布中的某些内容相关联,或者使用可用的许多canvas libraries中的一个来处理检测你。