JavaScript: Получите положение мыши относительно родительского элемента

Там какой-либо путь состоит в том, чтобы получить положение мыши относительно, он - родительский элемент?

Скажем, у меня есть структура:

<div id="parent">
    <span class="dot"></span>
</div>

Когда я приношу свою мышь span элемент я должен получить его положение относительно его родительского элемента (<div id="parent">). PageX/ClientX дают мне положение относительно страницы/клиентской области, таким образом, это не работает на меня.

9
задан Michael Gaskill 23 May 2016 в 21:14
поделиться

2 ответа

Вычтите позицию родительского элемента (offsetLeft; offsetTop) из позиции мыши (pageX; pageY), чтобы получить относительную позицию. Не забудьте учесть offsetParent, если у вас несколько уровней смещения.

Например:

element.addEventListener("mousedown", function (e) {
  let x = e.pageX - parent.offsetLeft;
  let y = e.pageY - parent.offsetTop;

  console.log(x, y);
});

Где element - ваш внутренний элемент, получающий событие, а parent - ваша желаемая ссылка для координат.

12
ответ дан 4 December 2019 в 12:17
поделиться

Попробуйте свойство offsetParent. http://help.dottoro.com/ljetdvkl.php

Попробуйте следующее: positionX = document.getElementByID('childId').offsetParent.offsetLeft; positionY = document.getElementByID('childId').offsetParent.offsetLeft;

0
ответ дан 4 December 2019 в 12:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: