Suraj Air
Suraj Air

Reputation: 2103

How can I get mouse position with JavaScript?

I want to get mouse x and y co-ordinates through JavaScript. I have tried pageX, pageY, clientX, clientY, but nothing is displayed. I have tested this on both IE and Firefox.

Is there something I'm doing wrong in the following event?

var x=0;
var y=0;
function mouseDown(){
    alert("This is displayed");
    evt=event||window.event;
    alert(evt.clientX);
        alert(evt.clientY);
            alert(evt.pageX);
                alert(evt.pagey);
    alert("Flow doesn't reach here...");            
}

Upvotes: 0

Views: 3658

Answers (2)

Sayan J. Das
Sayan J. Das

Reputation: 922

It's not working because you are not listening for any events. You need to pass this function when any mouse events occur. Try my code below.. gets position on click

function getPos(evt) {
 evt = event || window.event;
 return {x:evt.clientX,y:evt.clientY};
}

Now you can just call this function inside an event listener like this.

addEventListener( 'click' , function(event) {
  var mousex = getPos(event).x;
  Var mousex = getPos(event).y;

  alert(mousex);alert(mousey);
});

Upvotes: 1

sje397
sje397

Reputation: 41802

Yes - you also need to hook the function up as an event handler.

Your event should take an event parameter:

function mouseDown(event) {

And then you need to tell the browser to call your function when the event occurs:

document.onmousedown = mouseDown;

Upvotes: 1

Related Questions