猿问

如何在没有事件的情况下获得鼠标位置(不移动鼠标)?

如何在没有事件的情况下获得鼠标位置(不移动鼠标)?

是否可以在页面加载后使用JavaScript获取鼠标位置而无需任何鼠标移动事件(不移动鼠标)?



泛舟湖上清波郎朗
浏览 791回答 4
4回答

呼如林

真实答案:不,这是不可能的。好的,我刚想到了一个方法。使用覆盖整个文档的div覆盖页面。在其中,创建(比方说)2,000 x 2,000个<a>元素(以便:hover伪类可以在IE 6中工作,请参阅),每个像素大小为1个像素。:hover为那些<a>改变属性的元素创建一个CSS&nbsp;规则(比方说font-family)。在你的加载处理程序中,循环遍历400万个<a>元素中的每一个,检查currentStyle/&nbsp;getComputedStyle()直到找到具有悬停字体的元素。从该元素推断回来以获得文档中的坐标。NB&nbsp;不要这样做。

红颜莎娜

你可以做的是为光标x和y坐标创建变量,每当鼠标移动时更新它们,并在一个间隔内调用一个函数来完成你所需要的存储位置。当然,其缺点是需要至少一次鼠标初始移动才能使其工作。只要光标至少更新其位置一次,我们就能找到它的位置,无论它是否再次移动。var&nbsp;cursorX;var&nbsp;cursorY;document.onmousemove&nbsp;=&nbsp;function(e){ &nbsp;&nbsp;&nbsp;&nbsp;cursorX&nbsp;=&nbsp;e.pageX; &nbsp;&nbsp;&nbsp;&nbsp;cursorY&nbsp;=&nbsp;e.pageY;}setInterval(checkCursor,&nbsp;1000);function&nbsp;checkCursor(){ &nbsp;&nbsp;&nbsp;&nbsp;alert("Cursor&nbsp;at:&nbsp;"&nbsp;+&nbsp;cursorX&nbsp;+&nbsp;",&nbsp;"&nbsp;+&nbsp;cursorY);}上述代码每秒更新一次,并显示光标所在的消息。我希望这有帮助。

白衣非少年

您可以尝试类似于Tim Down建议的内容 - 但不是为屏幕上的每个像素添加元素,而是创建2-4个元素(框),并动态更改其位置,宽度,高度以在屏幕上划分可能的位置递归地通过2-4,从而快速找到鼠标的真实位置。例如 - 第一个元素占据屏幕的右半部分和左半部分,然后是上半部分和下半部分。到目前为止,我们已经知道鼠标位于哪个屏幕,能够重复 - 发现这个空间的哪个季度...
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答