Javascript:获取鼠标相对于父元素的位置

标签 javascript mouse-position

有什么方法可以获取鼠标相对于父元素的位置吗?

假设我有一个结构:

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

当我将鼠标移到 span 上时我需要获取其相对于其父元素 ( <div id="parent">) 的位置。 PageX/ClientX 给我相对于页面/客户区的位置,所以它对我不起作用。

最佳答案

从事件的 clientXclientY 中的鼠标位置减去您可以通过 getBoundingClientRect() 获得的父元素的视口(viewport)相对位置> 获取相对位置。

例如:

element.addEventListener("mousedown", function (e) {
    let bounds = parent.getBoundingClientRect();
    let x = e.clientX - bounds.left;
    let y = e.clientY - bounds.top;

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

element 是您接收事件的内部元素,parent 是您想要的坐标引用。

关于Javascript:获取鼠标相对于父元素的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614461/

相关文章:

javascript - 旋转木马上的第 N 个 child 不工作

javascript - Google reCAPTCHA v2 忽略 CSS 对齐

javascript - 如何将对象从数据属性传递到VueJS中的方法

javascript - 是否可以获取仅相对于您的元素的鼠标位置

wpf - 在 Canvas 上获取鼠标位置(但不在窗口上)?

c# - 如何在 WPF 中获取鼠标在屏幕上的位置?

javascript - 使用jquery根据鼠标坐标移动图像

javascript - Chrome 中的文件上传

GMT/UTC 的 Javascript 倒计时器

javascript - jQuery 确定 div 中的鼠标位置