Search code examples
javascriptnanmouse-position

My coords are NaN, NaN


I am trying to get the coords of my mouse position on a canvas. but all i get back is NaN, NaN

var canvasBg = document.getElementById('canvasBg');
var ctxBg = canvasBg.getContext('2d');

var mouseX;
var mouseY;

canvasBg.addEventListener('mousemove', mouseMoved, false);
canvasBg.addEventListener('click', mouseClicked, false);

function mouseMoved(e) {

mouseX = e.pageX - canvasBg.pageOffsetLeft;
mouseY = e.pageY - canvasBg.pageOffsetTop;
document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;

}

function mouseClicked(e) {

    alert( mouseX + "," + mouseY);

}

Solution

  • You can do this way simpler:

    function mouseMoved(e) {
        mouseX = e.offsetX;
        mouseY = e.offsetY;
        document.getElementById('mouseCoors').innerHTML = 'X: ' + mouseX + ' Y: ' + mouseY;
    }
    
    function mouseClicked(e) {
        alert( e.offsetX + "," + e.offsetY);
    }