Vue之better-scroll导致click事件失效问题

在 vue 中用了 better-scroll 插件之后,在浏览器模拟的手机端可以触发 click 事件,但在真机上测试的时候,click 事件失效。

官方文档选项页面中查到原因:

click:better-scroll 默认会阻止浏览器的原生 click 事件。当设置为 true,better-scroll 会派发一个 click 事件,我们会给派发的 event 参数加一个私有属性 _constructed,值为 true。
tap:因为 better-scroll 会阻止原生的 click 事件,我们可以设置 tap 为 true,它会在区域被点击的时候派发一个 tap 事件,你可以像监听原生事件那样去监听它,如 element.addEventListener(‘tap’, doSomething, false);。如果 tap 设置为字符串, 那么这个字符串就作为自定义事件名称。如 tap: ‘myCustomTapEvent’。

因此需要在初始化 better-scroll 的时候加入参数,设置成这样:

1
this.scroll = new Bscroll('.wrapper', { click: true, tap: true });

问题解决。