现在大多数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