我正在使用此函数将鼠标坐标转换为 Canvas 上的坐标,但有时在向下滚动然后向上滚动后, Canvas 上的鼠标位置不匹配。这是函数:
function getMousePos(x, y) {
var rect = document.getElementById("canvas").getBoundingClientRect();
return {
x: x - rect.left,
y: y - rect.top
};
}
最佳答案
如果您不在 Canvas 上使用 mousemove,请使用:
$(function () {
canvas = document.getElementById('canvas');
canvas.onmousemove = mousePos;
});
function mousePos(e) {
if (e.offsetX) {
mouseX = e.offsetX;
mouseY = e.offsetY;
}
else if (e.layerX) {
mouseX = e.layerX;
mouseY = e.layerY;
}
}
关于javascript - 移动后获取 Canvas 中的鼠标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16883615/