请教一个鼠标按下、移动的问题
var selectedBall = -1;
//鼠标点击时,判断是否选中了小球
$("#bottomCanvas").mousedown(function(e) {
var x = e.clientX;
var y = e.clientY;
var ballLength = balls.length;
//判断是否点击到了某个球
for (var i = 0; i < ballLength; i++) {
var tmpBall = balls[i];
var r = tmpBall.radius;
if (x > tmpBall.x - r && x < tmpBall.x + r && y > tmpBall.y - r && y < tmpBall.y + r) {
selectedBall = i;
break;
}
}
selectedBall = -1;
});
//鼠标移动时,显示鼠标的位置,用于调试
$("#bottomCanvas").mousemove(function(e) {
document.getElementById("coordinates").innerHTML = "coordinates:" + e.clientX + "," + e.clientY;
if (selectedBall >=0) {
alert(selectedBall);
balls[selectedBall].x = e.clientX;
balls[selectedBall].y = e.clientY;
}
});
请教,以上代码,mousedown事件没问题,可是无论如何执行不到mousemove的alert位置!
请各位大侠指教,拜谢!
------解决方案--------------------如果你代码没有问题的话,应该是这一段的问题
if (x > tmpBall.x - r && x < tmpBall.x + r && y > tmpBall.y - r && y < tmpBall.y + r),
有可能是selectedBall一直为-1,也就是说你的判断的问题