Там какой-либо путь состоит в том, чтобы получить положение мыши относительно, он - родительский элемент?
Скажем, у меня есть структура:
<div id="parent">
<span class="dot"></span>
</div>
Когда я приношу свою мышь span
элемент я должен получить его положение относительно его родительского элемента (<div id="parent">
). PageX/ClientX дают мне положение относительно страницы/клиентской области, таким образом, это не работает на меня.
Вычтите позицию родительского элемента (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
- ваша желаемая ссылка для координат.
Попробуйте свойство offsetParent. http://help.dottoro.com/ljetdvkl.php
Попробуйте следующее: positionX = document.getElementByID('childId').offsetParent.offsetLeft; positionY = document.getElementByID('childId').offsetParent.offsetLeft;