8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

WheelEvent deltaX/Y 和产生的滚动方向

DOKARR 1月前

47 0

我知道以前有人问过这个问题,但是没有明确的答案。MDN 说:即使滚轮事件确实触发了滚动,滚轮事件中的 delta* 值也不一定……

我知道 以前有人问过 问题,但是没有明确的答案。

MDN 说 :

即使滚轮事件确实触发了滚动, delta* 滚轮事件中的值 也不一定反映内容的滚动方向 .

然而, 规范指出 :

如果用户代理将滚动作为滚轮事件的默认操作,则增量的符号应由右手坐标系给出, 其中正 X、Y 和 Z 轴分别指向文档的最右边缘、最底边缘和最远深度(远离用户)。

该问题 中报告 Edge 中相反行为的整页示例 似乎现在给出了预期的迹象, delta* 表明这确实是 Edge 中已修复的一个错误。

此外,在 Bugzilla 上关于此问题的讨论中, 一位代表发表评论 ,表明规范很明确,并且的符号 delta* 确实应该以预期的方式指示结果(如果有)滚动事件的方向(负数 deltaX 表示左,正数表示右;负数 deltaY 表示向下,正数表示向上)。

我的问题是

  • 为什么 MDN 页面 说值的符号 delta* 不一定反映滚动方向?我误解了上面这句话的意思吗?是因为规范说的是“应该”而不是“必须”吗?
  • 作为开发人员,我们可以放心地假设符号 delta* 反映了可能的滚动操作的方向吗? gsap 似乎假设了这一点 ...
帖子版权声明 1、本帖标题:WheelEvent deltaX/Y 和产生的滚动方向
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由DOKARR在本站《javascript》版块原创发布, 转载请注明出处!
最新回复 (0)
  • @Yogi 我理解滚轮不一定会导致滚动事件,但是 MDN 说的是“delta* 值不一定反映滚动方向”,对我来说,这意味着滚轮导致的滚动方向,

  • mkr 1月前 0 只看Ta
    引用 3

    尝试不同的实验。创建一个仅在 X 轴上滚动的超大页面。如果您转动鼠标滚轮,事件会报告 deltaY 发生变化,即使页面没有滚动。现在按住 Shift 键并再次移动鼠标滚轮。页面现在水平滚动,但滚轮事件继续报告 deltaY 发生变化,deltaX 为零。参见

  • @Yogi Ah,说得非常好!我最初也尝试过同样的实验,但没想到要按住 Shift,因为我不知道它会这样。谢谢。

返回
作者最近主题: