Получить положение мыши при срабатывании фокусировки / размытия? - Javascript / JQuery - PullRequest
6 голосов
/ 02 ноября 2011

Я использую jquery для отлова события:

$('input').focus(function(e){

    console.log( e.pageX, e.pageY );

});

Похоже, это не работает ... есть идеи по альтернативным способам определения положения мыши?


Помощь была бы отличной, спасибо:)

Ответы [ 2 ]

7 голосов
/ 02 ноября 2011

Вы можете получить координаты мыши, используя события мыши.Если вы хотите зафиксировать положение мыши, вы можете использовать глобальный mousemove прослушиватель событий и сохранить координаты в наборе переменных, к которым позже можно будет обратиться с помощью функции focus.Пример:

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
});
2 голосов
/ 02 ноября 2011

Если вы пытаетесь получить позицию относительно элемента, попробуйте что-то вроде этого:

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