Skip to content Skip to sidebar Skip to footer

Get Mouse Position When Focus/blur Events Are Fired?

I'm using jQuery to capture an event: $('input').focus(function(e){ console.log( e.pageX, e.pageY ); }); This doesn't seem to work... any ideas on alternative ways to gettin

Solution 1:

You can only get mouse coordinates using mouse events. If you want to capture the position of the mouse, you can use a global mousemove event listener, and store the coordinates in a set of variables, which can later be accessed by the focus function. Example:

var pageX, pageY; //Declare these globally
$(window).mousemove(function(e){
    pagex = e.pageX;
    pageY = e.pageY;
});

$('input').focus(function(){
    console.log(pageX, pageY); // These variables have been defined by the global//  mousemove event
});

Solution 2:

If you're trying to get the position relative to the element, try something like this instead:

$("input").focus(function(e){
    var relativeX = e.pageX - this.offsetLeft;
    var relativeY = e.pageY - this.offsetTop;
});

Post a Comment for "Get Mouse Position When Focus/blur Events Are Fired?"