为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

泛舟湖上清波郎朗 2019-08-26 17:36:47
如何在没有事件的情况下获得鼠标位置(不移动鼠标)?是否可以在页面加载后使用JavaScript获取鼠标位置而无需任何鼠标移动事件(不移动鼠标)?
查看完整描述

4 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

真实答案:不,这是不可能的。

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

NB 不要这样做


查看完整回答
反对 回复 2019-08-26
?
红颜莎娜

TA贡献1842条经验 获得超12个赞

你可以做的是为光标xy坐标创建变量,每当鼠标移动时更新它们,并在一个间隔内调用一个函数来完成你所需要的存储位置。

当然,其缺点是需要至少一次鼠标初始移动才能使其工作。只要光标至少更新其位置一次,我们就能找到它的位置,无论它是否再次移动。

var cursorX;var cursorY;document.onmousemove = function(e){
    cursorX = e.pageX;
    cursorY = e.pageY;}setInterval(checkCursor, 1000);function checkCursor(){
    alert("Cursor at: " + cursorX + ", " + cursorY);}

上述代码每秒更新一次,并显示光标所在的消息。我希望这有帮助。


查看完整回答
反对 回复 2019-08-26
?
白衣非少年

TA贡献1155条经验 获得超0个赞

您可以尝试类似于Tim Down建议的内容 - 但不是为屏幕上的每个像素添加元素,而是创建2-4个元素(框),并动态更改其位置,宽度,高度以在屏幕上划分可能的位置递归地通过2-4,从而快速找到鼠标的真实位置。

例如 - 第一个元素占据屏幕的右半部分和左半部分,然后是上半部分和下半部分。到目前为止,我们已经知道鼠标位于哪个屏幕,能够重复 - 发现这个空间的哪个季度...


查看完整回答
反对 回复 2019-08-26
  • 4 回答
  • 0 关注
  • 790 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信