如何在没有库的情况下检测各种滚动?

How to detect all kind of scrolling without libraries?

我想知道如何检测页面上的滚动事件这里有两种不同的滚动方式。

在桌面上:

  1. 通过滚动鼠标滚轮(事件处理程序是 DOMElement.onwheel 事件处理程序)。
  2. 通过按下鼠标滚轮并向适当的方向移动光标(也称为自动滚动)。

在手机上:

  1. 通过向下或向上交换手指

如何检测第二种和第三种方法中描述的滚动事件?

在所有情况下都是 scroll 事件,因此:

window.addEventListener("scroll", function(e) {
  ...
});

第二个和第三个事件有一个共同点 - 它们发生在 mousedownmouseup 框架内。您可以将其用于事件风味检测。