如何在没有事件的情况下获得鼠标位置(不移动鼠标)?是否可以在页面加载后使用JavaScript获取鼠标位置而无需任何鼠标移动事件(不移动鼠标)?
4 回答
呼如林
TA贡献1798条经验 获得超3个赞
真实答案:不,这是不可能的。
好的,我刚想到了一个方法。使用覆盖整个文档的div覆盖页面。在其中,创建(比方说)2,000 x 2,000个<a>
元素(以便:hover
伪类可以在IE 6中工作,请参阅),每个像素大小为1个像素。:hover
为那些<a>
改变属性的元素创建一个CSS 规则(比方说font-family
)。在你的加载处理程序中,循环遍历400万个<a>
元素中的每一个,检查currentStyle
/ getComputedStyle()
直到找到具有悬停字体的元素。从该元素推断回来以获得文档中的坐标。
NB 不要这样做。
红颜莎娜
TA贡献1842条经验 获得超12个赞
你可以做的是为光标x
和y
坐标创建变量,每当鼠标移动时更新它们,并在一个间隔内调用一个函数来完成你所需要的存储位置。
当然,其缺点是需要至少一次鼠标初始移动才能使其工作。只要光标至少更新其位置一次,我们就能找到它的位置,无论它是否再次移动。
var cursorX;var cursorY;document.onmousemove = function(e){ cursorX = e.pageX; cursorY = e.pageY;}setInterval(checkCursor, 1000);function checkCursor(){ alert("Cursor at: " + cursorX + ", " + cursorY);}
上述代码每秒更新一次,并显示光标所在的消息。我希望这有帮助。
白衣非少年
TA贡献1155条经验 获得超0个赞
您可以尝试类似于Tim Down建议的内容 - 但不是为屏幕上的每个像素添加元素,而是创建2-4个元素(框),并动态更改其位置,宽度,高度以在屏幕上划分可能的位置递归地通过2-4,从而快速找到鼠标的真实位置。
例如 - 第一个元素占据屏幕的右半部分和左半部分,然后是上半部分和下半部分。到目前为止,我们已经知道鼠标位于哪个屏幕,能够重复 - 发现这个空间的哪个季度...
添加回答
举报
0/150
提交
取消