Получение x и y позиции указателя мыши относительно элемента - PullRequest
0 голосов
/ 29 сентября 2010

Привет, кто-нибудь может помочь с этим?
Когда я перемещаю указатель мыши на элементе, я хотел бы получить положения x и y относительно <div>

Например, когда я ставлюуказатель мыши в верхней левой точке элемента div Я ожидаю получить значение X, равное 1, и значение Y, равное 1.

Это должно быть совместимо с Internet Explorer

Спасибо всем за вниманиеtime.

Это работает, проблема в том, что я вызывал его из события onclick, которое не давало значения scrollLeft и scrollTop.Я должен быть в состоянии получить позицию из этого, используя вычисления верхних и левых значений Divs.

function getMouseXY(ctrl)        
{
    var tempX = event.clientX + document.body.scrollLeft;
    var tempY = event.clientY + document.body.scrollTop;

    document.getElementById('<%=txtXPos.ClientID%>').value = tempX;
    document.getElementById('<%=txtXPos.ClientID%>').value = tempY;
}

Спасибо всем, кроме LincolnK!!лол

Ответы [ 2 ]

0 голосов
/ 29 июля 2013

Это работа для меня:

function getOffset( el ) 
{
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) 
    {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}
var x = getOffset( document.getElementById('MY DIV ID') ).left;
var Y = getOffset( document.getElementById('MY DIV ID') ).top;

function myOnYourEvent()
{
    var relativeX = window.event.clientX;
    var relativeY = window.event.clientY;
    var my_div_x = relativeX - x;
    var my_div_y = relativeY - Y;
    alert(my_div_x  + " " + my_div_y);
}
0 голосов
/ 29 сентября 2010

Вы можете попробовать что-то вроде этого

function myOnMouseMove(element) {
  var e = window.event
  var relativeX = e.screenX - element.scrollLeft;
  var relativeY = e.screenY - element.scrollTop;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...