【问题标题】:Window scrolls without triggering touchmove窗口滚动而不触发 touchmove
【发布时间】:2017-03-22 17:47:00
【问题描述】:

我正在触摸设备上开发这个 AngualarJS 应用程序,并且有一个地方我通过在 touchmove 上附加处理程序来禁用滚动。但是,我已经测试了该设备,并且可以验证当屏幕滚动时不一定会触发 touchmove - 只有 touchstart 和 touchend 也可以触发。诀窍是“以非常轻微的向上拖动动作快速在屏幕上轻敲一点”。

我还能如何禁用滚动?注意:我不能 e.preventDefault touchstart 事件,因为在禁用滚动时我需要它来做其他事情。谢谢!

【问题讨论】:

    标签: javascript jquery angularjs


    【解决方案1】:

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

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

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

    1. scroll-area 尺寸大于 scroll-wrapper
    2. scroll-wrapperoverflow: scroll

    所以,停止区域滚动:

    1. 它们的大小相同
    2. overflow: hiddentouchmove监听器改变CSS位置可以模仿滚动)

    现在,你想禁用一个区域的滚动。也许你可以使用 CSS 来做到这一点。

    希望我能帮到你。

    【讨论】:

      猜你喜欢
      • 2013-09-14
      • 2011-08-06
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多