无法从画布中检索鼠标坐标

时间:2012-02-21 22:18:57

标签: javascript mouse coordinates mousemove

我在画布上工作,现在我已经到了需要找到鼠标坐标的位置,所以我可以在画布里面制作“按钮”。但是,当我尝试捕获坐标并在函数中使用它们来确定鼠标是否在按钮内时,它不起作用。

我的坐标检索方法有什么问题?这是我的朋友和我为学校项目制作的游戏。

以下是代码:

<!-- game canvas -->
<canvas id="canvas" width="900" height="600">

<!-- no-support message -->
Se está a ver isto, o seu browser não suporta HTML5.

</canvas>

只是画布,因为其他真的很重要。

这是javascript:

//find mouse coordinates

var mouseX = 0, mouseY = 0;

$('#canvas').mousemove(function(e){
    mouseX = e.pageX - this.offsetLeft;
    mouseY = e.pageY - this.offsetTop;
});

1 个答案:

答案 0 :(得分:3)

var创建一个局部变量。但是,在您的情况下,您希望更新外部函数的变量,而不是创建新的本地变量。因此,只需将var放在mousemove函数内。

目前,外部变量被局部变量“遮蔽”,并且变得无法访问。

http://jsfiddle.net/wXMyH/1/