キャンバス座標を取得するために使用できる関数に取り組んでいます。キャンバスの一部が画面に表示されなくなるまで、うまく機能します。
ウィンドウを小さくして右下隅までスクロールすると、キャンバスの表示部分から始まるようです。これを修正して正しい座標を取得するにはどうすればよいですか?
これが私のコードです:
function getMousePosition(event) {
var MX = new Number();
var MY = new Number();
if (event.x != undefined && event.y != undefined) {
MX = event.x;
MY = event.y;
}
else { // Firefox method to get the position
MX = event.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
MY = event.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
MX -= canvas.offsetLeft;
MY -= canvas.offsetTop;
alert("x: " + MX + " y: " + MY);
}