使用 JQuery mousemove 跟踪鼠标,用滚轮滚动愚弄我

发布于 2024-09-17 21:18:54 字数 408 浏览 9 评论 0原文

我注意到 Chrome/Ubuntu 有一些非常奇怪的东西,也可以在 JQuery mousemove 页面 here 上看到

当我使用滚轮垂直滚动时,我在 pageX、pageY 中获得新坐标,但 pageY 似乎偏离了大约 50px-60px。

我可以看到这一点,因为只要我将鼠标稍微向一侧移动,Y 坐标就会突然跳动很多。

任何想法我做错了什么,或者如何获得“真实的”pageY 坐标?

Edit1:我现在看到在 Windows 上滚动滚轮时根本没有收到 mousemove 事件。

I'm noticing something very strange with Chrome/Ubuntu, seen also on the JQuery mousemove page here.

When I use the wheel to scroll vertically, I get new coordinates in pageX, pageY, but the pageY seems to be about 50px-60px off.

I can see this because as soon as I move the mouse a little to the side, the Y coordinate suddenly jumps a lot.

Any ideas what I'm doing wrong, or how to get the "true" pageY coordinate?

Edit1: I now see that on windows I don't get mousemove events at all when scrolling with the wheel.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

极致的悲 2024-09-24 21:18:54
  • 使用鼠标滚轮时,将触发绑定到窗口滚动事件
  • 移动鼠标时,将触发绑定到 mousemove 事件

坐标计算如下:

PageX = ClientX + document.body.scrollLeft
PageY = ClientY + document.body.scrollTop

  • Binding to the window scroll event will fire when the mouse wheel is used
  • Binding to mousemove event will fire when the mouse is moved

The coordinates are then calculated as follows:

PageX = ClientX + document.body.scrollLeft
PageY = ClientY + document.body.scrollTop

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文