event.pageY
为您提供相对于整个文档高度的鼠标位置(我假设为document.documentElement.offsetHeight
)。
但是如何获得鼠标相对于当前视区的位置,即document.documentElement.clientHeight
例如,如果浏览器窗口的高度为720像素,我向下滚动3页并将鼠标保持在窗口中间,则位置应为"360",而不是1800 (720x3- 720 / 2)。
发布于 2013-02-06 05:53:12
尝试使用无论滚动与否都应始终返回正确值的event.clientY
发布于 2013-02-06 05:55:55
使用event.clientY
获取相对于浏览器视口(Compatibility table)的mouse position。
发布于 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
https://stackoverflow.com/questions/14717617
复制相似问题