我正在使用以下JavaScript跟踪鼠标移动:
var mouseX = 0;
var mouseY = 0;
document.onmousemove = function (e) {
mouseX = e.clientX;
mouseY = e.clientY;
}
我的问题是,如果自页面加载后鼠标尚未移动,则mouseX和mouseY值都等于0.如何在加载页面时以及鼠标何时获取鼠标值移动?
答案 0 :(得分:10)
在移动鼠标之前,浏览器不知道鼠标的位置。
它比“让我光标位置”更复杂。如果没有鼠标(平板电脑)或者鼠标没有在浏览器窗口上方怎么办?
出于同样的原因,如果光标在页面加载时已经悬停,则无法在项目上获得悬停事件。它需要一个鼠标移动才能触发这些事件。
转到某个网站,将鼠标悬停在具有悬停效果的链接上(如下划线),刷新页面(不移动光标),即使光标悬停在链接上,您也会看到它在你移动光标之前,先进行悬停处理。
不幸的是,这是一个浏览器级问题,而不是javascript问题。
答案 1 :(得分:-1)
您可以为文档定义鼠标悬停事件,以捕获页面加载时的第一个鼠标交互。