【发布时间】:2014-09-04 18:13:44
【问题描述】:
我的画布中有一张地图。 我想用鼠标指针拖动这张地图。 我在开始时将全局变量 dragMap 设置为 false 并且 当鼠标按下时将其设置为 true,然后在鼠标向上时将其设置回 false。 对于拖动,我在处理程序中检查了这个全局变量值以获取 mousemove 事件和 如果是真的,我用偏移量重绘地图。
上面写的是我希望我的代码执行的操作,但它不起作用。在 mousemove 处理程序内部,dragMap 变量始终为 false。当我单击并拖动此地图时,我的控制台日志显示:
真的 14 错误第一个“真”来自 mousedown 处理程序,“假”来自 mosemove 事件。 我做错了什么?
$(document).ready(function(){
var dragMap = false;
var startDragMapX;
var startDragMapY;
$("#myCanvas").mousedown(function(e){
dragMap = true;
startDragMapX = e.pageX;
startDragMapY = e.pageY;
console.log(dragMap);
//var x = e.pageX - this.offsetLeft;
//var y = e.pageY - this.offsetTop;
});
$("#myCanvas").mousemove(function(e){
console.log(dragMap);
if(dragMap) {
console.log(2);
oX = e.pageX-startDragMapX;
oY = e.pageY-startDragMapY;
draw(ctx,1,1,oX,oY);
}
});
$("#myCanvas").mousedown(function(){
dragMap = false;
});
});
【问题讨论】:
标签: javascript jquery global-variables