如何从页面加载以及鼠标移动跟踪鼠标位置

How to track mouse position from on page load as well as on mouse move?

本文关键字:鼠标 移动 跟踪 位置 加载      更新时间:2023-09-26

我正在使用以下JavaScript跟踪鼠标移动:

var mouseX = 0;
var mouseY = 0;
document.onmousemove = function (e) {
    mouseX = e.clientX;
    mouseY = e.clientY;
}

我的问题是,如果从加载页面开始鼠标就没有移动过,那么mouseX和mouseY的值都等于0。如何在加载页面以及移动鼠标时获得鼠标值?

浏览器不知道鼠标在哪里,直到它移动。

这比"给我光标位置"要复杂得多。如果没有鼠标(平板电脑)或者如果鼠标不在浏览器窗口上怎么办?

出于同样的原因,如果在页面加载时光标已经悬停,则无法在项目上获得悬停事件。需要鼠标移动才能触发这些事件。

进入某个网站,将鼠标悬停在一个有悬停效果的链接上(比如下划线),刷新页面(不移动光标),你会看到,即使你的光标悬停在链接上,它也不会得到悬停处理,直到你移动光标。

不幸的是,这是浏览器级别的问题,而不是javascript的问题。

您可以为文档定义mouseover事件,以便在页面加载时捕获第一次鼠标交互