收藏
回答

swiper如何实现禁止手动滑动

swiper如何实现禁止手动滑动,找了好久,试了很多方法都没用

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

5 个回答

  • LastLeaf
    LastLeaf
    2017-06-30

    感谢反馈。最佳方案是 @赵子龙 的方案。在swiper内部的节点上拦截touchmove事件 `catchtouchmove="FUNCTION_NAME"` 可以阻止swiper对touchmove的响应。

    2017-06-30
    有用
    回复 7
    • Yrobot
      Yrobot
      2019-04-18

      要是需要动态修改可滑动状态呢?利用捕获事件是不可靠的。


      官方就应该在swiper上加一个可滑动的属性啊。

      2019-04-18
      回复
    • LastLeaf
      LastLeaf
      2019-04-18回复Yrobot

      catchtouchmove="{{eventHandler}}"

      eventHandler 传一个空字符串可以禁用事件拦截

      2019-04-18
      1
      回复
    • Yrobot
      Yrobot
      2019-04-18回复LastLeaf

      并不是根本解决方法,因为小程序的catch有bug,请参看:https://developers.weixin.qq.com/community/develop/doc/000ce4903f4eb825cc684d4d85b400


      catch之后,子节点都无法滑动了。

      2019-04-18
      回复
    • 大明小子
      大明小子
      2022-04-21
      官方加一个禁止手势的功能,那么难吗....
      2022-04-21
      回复
    • Vincent W
      Vincent W
      01-10
      catchtouchmove 加在 swiper-item 上已经不生效了
      01-10
      回复
    查看更多(2)
  • 2017-06-29

    额,创建一个跟swiper宽高一样的透明层,盖在他上面 >_ >

    2017-06-29
    有用
    回复 1
    • Y
      Y
      03-17
      哈哈哈  只要实现了就行哈
      03-17
      回复
  • 赵青山
    赵青山
    2017-06-29

    swiper执行滑动是需要接收touchmove事件的,你在swiper的子控件比如swiper-item中用catchtouchmove将事件截获后,swiper由于不能接收到touchmove事件,所以无法滑动

    2017-06-29
    有用
    回复
  • 背着壳的唔花肉
    背着壳的唔花肉
    2017-06-29

    用了cath没用,不管将return false的方法加载swiper-item还是里面的image或者是swiper上它都没有阻止swiper的默认行为。


    不过现在解决了,只要将swiperz-index的值设为-1就可以了


    2017-06-29
    有用
    回复 1
    • 枫儿
      枫儿
      2018-10-15

      将swiper的 z-index 设置为-1 也没作用

      2018-10-15
      回复
  • 赵青山
    赵青山
    2017-06-29

    阻止事件传递用catch

    2017-06-29
    有用
    回复
登录 后发表内容