在 Javascript 中获取 DOM 元素的 screenX

pow*_*tte 5 javascript dom

当我监听某个元素上的鼠标悬停时,我会触发一个事件,其中包含 screenX、clientX、pageX 以及许多其他关于鼠标相对于屏幕的位置以及相对于触发事件的元素的详细信息。

如果我只调用 element.mouseover(),我的处理程序会运行,但鼠标位置和其他属性都为空。我查看了 initMouseEvent,但它要求您指定我不知道的 screenX。

我的问题是,如何在鼠标不悬停在元素上甚至不在窗口中的情况下获取这些值?

小智 2

在 JavaScript 中:

function getScreenCoords(element) {
    let rect = element.getBoundingClientRect();
    return {
            x: window.screenX + rect.left,
            y: window.screenY + rect.top
        }
}
Run Code Online (Sandbox Code Playgroud)