收藏
回答

scroll-view竖向滚动点击事件失效

现在的问题是,在手机端,如果右侧商品列表没有撑开scroll-view的时候,我用手指上下滑之后,再点击左侧的列表选项卡第一次是没法触发点击事件的。每次都是第二次点击才触发。如下图,如果列表撑开了滚动,可以滚动的话就没事。不知道是什么原因阻止了左侧的点击事件。求解答



这是HTML布局


这是CSS布局

回答关注问题邀请回答
收藏

18 个回答

  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-24

    @ZaKing 可以尝试一下在页面的json文件里加上

                "disableScroll": true

    来禁止整个页面的滚动,应该也能修复你的问题。


    2018-01-24
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-16

    问题找到了,原因还是滚动回弹导致,但是scroll-view组件的touchmove事件无法被catch阻拦导致catchtouchmove无效。我们后续会修复这个问题。

    2018-01-16
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-16

    奇怪,方便把你这个页面的完整代码(wxml、wxss和js)贴出来么?敏感信息用一些没用的数据替代一下就行。

    2018-01-16
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-16

    你的preventEvent方法有实现么?

    2018-01-16
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-16

    哪一层都行啊,只要不冒到page上就可以。

    2018-01-16
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-16

    ,阻断冒泡可以阻断这个滚动回弹。

    2018-01-16
    有用
    回复
  • 小程序技术专员-june
    小程序技术专员-june
    2018-01-12

    这是因为触发了页面的滚动回弹,而滚动中元素的子元素是不允许触发tap事件的。再加上你的页面元素是fixed定位,所以看不出页面滚动回弹的效果。


    目前你可以通过给.good-part那个元素增加一个catchtouchmove句柄来阻断touchmove事件的冒泡,进而防止这种情况发生,比如



    这个问题我们后续会继续跟进一下,看看有没有更优雅的解决方案。

    2018-01-12
    有用
    回复
  • ZaKing
    ZaKing
    2018-01-25

    可以了,解决了,非常感谢

    2018-01-25
    有用
    回复 1
    • PangNan
      PangNan
      2020-03-28
      请问一下,这个最后怎么解决的
      2020-03-28
      回复
  • ZaKing
    ZaKing
    2018-01-17


    但是我给这三层都加了catchtouchmove事件,也无法阻止么?

    2018-01-17
    有用
    回复
  • ZaKing
    ZaKing
    2018-01-17

    也就是说,如果按照我目前的写法,是无法解决这个滚动回弹所引起的问题的。是嘛

    2018-01-17
    有用
    回复

正在加载...

登录 后发表内容