0
我試圖在具有自動邊距的div上的畫布上獲取鼠標座標時未成功。我有一個小提琴設置,我希望有人能看到問題是什麼。如何從窗口中心的畫布獲取x和y
如果我刪除了邊距,但邊距與偏移量的尺寸關閉,畫布背後的邏輯是正確的。
http://jsfiddle.net/mcgraw73/Mfafz/
function init() {
FGcanvas.addEventListener('mousedown', mouseDown, false);
FGcanvas.addEventListener('mouseup', mouseUp, false);
FGcanvas.addEventListener('mousemove', mouseMove, false);
}
function mouseDown(e) {
rect.startX = e.clientX - FGcanvas.offsetLeft
rect.startY = e.clientY - FGcanvas.offsetTop;
drag = true;
}
function mouseUp() {
drag = false;
}
function mouseMove(e) {
if (drag) {
rect.w = (e.clientX - rect.startX) - FGcanvas.offsetLeft; //(event.clientX - rect.start.x) - canvas.offsetLeft
rect.h = (e.clientY - rect.startY) - FGcanvas.offsetTop;
FGcontext.clearRect(0,0,FGcanvas.width,FGcanvas.height);
draw();
}
}
function draw() {
FGcontext.clearRect(0,0,FGcanvas.width,FGcanvas.height);
FGcontext.fillRect(rect.startX, rect.startY, rect.w, rect.h);
}
這是完美的 - 謝謝你。 – mcgraw 2013-03-19 18:59:33