4

同じコードを使用して、特定の要素 (この場合は HTML5 キャンバス) に対するマウスの位置を見つけています。これはマウスダウンで機能しますが、マウスアップで壊れます。マウスアップで動作させるにはどうすればよいですか?

<!DOCTYPE html>
<html>
<body>

<h1>This is page one; here we will play with HTML5</h1>

<a href= "../index.html">This link takes you back to home</a>

<div> <canvas onmousedown="mouseDown()" onmouseup="mouseUp()" 
id="myCanvas" width="1600" height="800" style="border:1px solid #000000;">
</canvas> </div>

<script type="text/javascript">

var rect1x = rec1y;
var a = b;

function mouseDown()
{
a = document.getElementById("myCanvas").getBoundingClientRect().left;
b = document.getElementById("myCanvas").getBoundingClientRect().top;
rect1x = window.event.clientX - a;
rect1y = window.event.clientY - b;
}
function mouseUp()
{
var rect2x = window.event.clientX - a;
var rect2y = window.event.clientY - b;

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="#FF0000";
ctx.fillRect(rect1x,rect1y,rect2x,rect2y);
}

</script>

<center><font size=1>Draw!</font></center>

</body>
</html>
4

1 に答える 1

3

ctx.fillRectかかりx, y, width, heightませんx1, y1, x2, y2

最後の行を次のように変更します。

ctx.fillRect(rect1x, rect1y, rect2x - rect1x, rect2y - rect1y);
于 2012-10-08T15:25:22.730 に答える