现在大多数vuejs . 项目都使用better-scroll

但是大多数出现一个问题,就是在大的div里面的a 链接或者click事件都不用了

这是 html 部分

 <div ref="wrapper" class="list-wrapper">
      <div class="setting-list" ref="setting" >
        <div class="setting-list-li" v-for="(value,key) in theme">
          <router-link :to="`/theme/${value.c_type}`" @click.native="change" class="item">
          </router-link>
        </div>
      </div>
    </div>

这是js部分

 import BScroll from 'better-scroll'

  export default {
    mounted () {
      this.$nextTick(function () {
        setTimeout(() => {
          const options = {
            scrollY: false, // 因为scrollY默认为true,其实可以省略
            scrollX: true,
            mouseWheel: true,
            click: true,
            taps: true
          }
          this.scroll = new BScroll(this.$refs.wrapper, options)
        }, 20)
      })
    }
  }

因为 better-scroll 会阻止原生的 click 事件,我们可以设置 tap 为 true,它会在区域被点击的时候派发一个 tap 事件

更多参数可以看下这里:文档
https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/options.html#starty

Logo

前往低代码交流专区

更多推荐