首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在javascript中获取鼠标相对于窗口视口的位置?

如何在javascript中获取鼠标相对于窗口视口的位置?
EN

Stack Overflow用户
提问于 2013-02-06 05:50:12
回答 3查看 62.1K关注 0票数 35

event.pageY为您提供相对于整个文档高度的鼠标位置(我假设为document.documentElement.offsetHeight)。

但是如何获得鼠标相对于当前视区的位置,即document.documentElement.clientHeight

例如,如果浏览器窗口的高度为720像素,我向下滚动3页并将鼠标保持在窗口中间,则位置应为"360",而不是1800 (720x3- 720 / 2)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-06 05:53:12

尝试使用无论滚动与否都应始终返回正确值的event.clientY

https://developer.mozilla.org/en-US/docs/DOM/event.clientY

票数 52
EN

Stack Overflow用户

发布于 2013-02-06 05:55:55

使用event.clientY获取相对于浏览器视口(Compatibility table)的mouse position

票数 8
EN

Stack Overflow用户

发布于 2020-07-07 05:39:40

我在类似的情况下,我需要光标的坐标w.r.t视口(因为我的页面是可滚动的)。

我在这里尝试了其他答案,当屏幕滚动时,它们似乎不起作用(它们在不可滚动的页面上工作得很好)。

在阅读了https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent的一些文档页面后,我发现在使用可滚动页面时,如果您需要X和Y坐标在当前视区(即,即使滚动),则使用event.pageX会更好。

var pageX = MouseEvent.pageX;

https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/pageX

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14717617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档