如何从页面加载和鼠标移动中跟踪鼠标位置?

时间:2011-11-04 17:00:52

标签: javascript mouse mouseevent

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

var mouseX = 0;
var mouseY = 0;

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

我的问题是,如果自页面加载后鼠标尚未移动,则mouseX和mouseY值都等于0.如何在加载页面时以及鼠标何时获取鼠标值移动?

2 个答案:

答案 0 :(得分:10)

在移动鼠标之前,浏览器不知道鼠标的位置。

它比“让我光标位置”更复杂。如果没有鼠标(平板电脑)或者鼠标没有在浏览器窗口上方怎么办?

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

转到某个网站,将鼠标悬停在具有悬停效果的链接上(如下划线),刷新页面(不移动光标),即使光标悬停在链接上,您也会看到它在你移动光标之前,先进行悬停处理。

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

答案 1 :(得分:-1)

您可以为文档定义鼠标悬停事件,以捕获页面加载时的第一个鼠标交互。