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 getting the mouse position?
Help would be great.
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 getting the mouse position?
Help would be great.
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
});
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;
});