JS: координаты мыши относительно элемента - PullRequest
0 голосов
/ 29 ноября 2009

Это кросс-браузер, чтобы поймать координаты мыши относительно блока div с этим:

pos_x = event.offsetX?(event.offsetX):event.pageX-document.getElementById("thebox").offsetLeft;
pos_y = event.offsetY?(event.offsetY):event.pageY-document.getElementById("thebox").offsetTop;

Ответы [ 3 ]

0 голосов
/ 29 ноября 2009

Если у вас нет всех / большинства типов / версий браузеров для тестирования, вы можете взглянуть на это:
Совместимость с W3C DOM - События
Связано сверху: Совместимость с W3C DOM - объектная модель CSS Представление

Дает вам представление о совместимости кодов.

0 голосов
/ 16 января 2013
function dodoubleclick(e){
             var mouseX, mouseY;

                if(e.offsetX) {
                    mouseX = e.offsetX;
                    mouseY = e.offsetY;
                }
                else if(e.layerX) {
                    mouseX = e.layerX;
                    mouseY = e.layerY;
                }
alert("mousex:"+mouseX+"and"+"mousey:"+mouseY);

}

этот фрагмент даст вам координаты мыши

0 голосов
/ 29 ноября 2009

это работает для меня; изменить к вашей структуре:

function assignPosition(element,event) {
cX=event.clientX; cY=event.clientY;
if ($$(element).pageYOffset)
   {
   rX=$$(element).pageXOffset;
   rY=$$(element).pageYOffset;
   }
if (document.body)
   {
   rX=document.body.scrollLeft;
   rY=document.body.scrollTop;
   }
if (document.documentElement && document.documentElement.scrollTop)
   {
   rX=document.documentElement.scrollLeft;
   rY=document.documentElement.scrollTop;
   }
cX+=rX;
cY+=rY;
$$(element).style.left=cX+"px";
$$(element).style.top=cY+"px";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...