我的畫布內有一張地圖。 我想用鼠標拖動這張地圖。 我將全局變量dragMap設置爲false, 在鼠標關閉時將其設置爲true,然後在設置爲false時將其設置爲false。 對於拖動我檢查這個全局變量值處理器爲mousemove事件和 如果它是真的,我重繪與偏移地圖。事件處理程序之間的全局變量
上面寫的是我想讓我的代碼做但它不起作用。在mousemove處理程序中,dragMap varialbe始終爲false。當我點擊和drad這個地圖我的控制檯日誌顯示:
true 14 false
第一個「真正的」鼠標按下從處理occures的「falses」 - 從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;
});
});