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