better-scroll使用,手机上用不了@click事件,点击无效的解决办法

本文介绍在Vue项目中使用better-scroll插件时,手机端点击事件失效的问题及解决方案。better-scroll默认阻止原生click事件,需设置click属性为true,并在构造函数中添加_constructed属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你在vue项目开发中使用了better-scroll的手机插件时候,浏览器将不进行滚动,而变成了滑动,这时候电脑浏览器可以用@click点击绑定事件,而在手机测试时,将没有反应。

原因是:better-scroll 默认会阻止浏览器的原生 click 事件。当设置为 true,better-scroll 会派发一个 click 事件,我们会给派发的 event 参数加一个私有属性 _constructed,值为 true。

代码展示方法:
html代码:

<template>
  <div class="list" ref="wrapper">
   ...
   ...
   ...
   </div>
 </template>

js代码:

mounted () {
    const options = {
      scrollY: false, // 因为scrollY默认为true,其实可以省略
      scrollX: true,
      mouseWheel: true,
      click: true,
      taps: true
    }
    this.scroll = new Bscroll(this.$refs.wrapper, options)
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值