不触发触摸移动的窗口滚动

Window scrolls without triggering touchmove

本文关键字:窗口 滚动 移动 触摸      更新时间:2023-09-26

我正在触摸设备上研究这个angalarjs应用程序,并且有一个地方我通过在touchmove上附加处理程序来禁用滚动。然而,我已经测试了这款设备,可以证实当屏幕滚动时不一定会触发触控移动——只有触控开始和触控结束才能触发。诀窍是"在屏幕上快速轻拍,同时轻微向上拖动"。

我还能怎样禁用滚动呢?注意:我不能e.p preventdefault touchstart事件,因为当滚动被禁用时,我需要它用于其他事情。谢谢你!

在我的视图中,禁用滚动有很多方法:

  1. e.preventDefault()但是这个你不允许
  2. 使用CSS

如何使一个地方开始滚动?有两个dom: scroll-wrapper &scroll-area

  1. scroll-area size> scroll-wrapper
  2. scroll-wrapperoverflow: scroll

停止区域滚动:

  1. 它们有相同的尺寸
  2. overflow: hidden (touchmove监听器改变CSS位置可以模仿滚动)

现在,你想要禁用一个区域的滚动。也许你可以用CSS来做这件事。