亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

小程序如何解決重復點擊?

小程序有非常蛋疼的问题,没有很好的优化事件机制,导致重复点击会触发多次(如果打开页面,快速多次点击,会打开多个重复的页面,返回时就会关掉一个还有一个...)

网上很多都是给按钮或者事件按钮添加disabled属性,通过事件改变值,并判断此时能否被点击。经过本人测试,在开发者工具上面是可以的。但是在真机上面快速点击多次还是会触发多次。

下面提供更科学的办法:

  1. data里面定义3个属性
    touchStartTime: 0, // 触摸开始时间
    touchEndTime: 0, // 触摸结束时间
    lastTapTime: 0 // 最后一次单击事件点击发生时间
  2. 页面触发这3个事件
    <view @tap="doubleTap" @touchstart="touchStart" @touchend="touchEnd">测试重复点击事件</view>
  3. methods里面添加3个方法
    // 防止重复点击
    touchStart(e) {
      this.touchStartTime = e.timeStamp;
    },
    touchEnd(e) {
      this.touchEndTime = e.timeStamp;
    },
    doubleTap(item, e) {
      var vm = this;
      // 控制点击事件在350ms内触发,加这层判断是为了防止长按时会触发点击事件
      if (vm.touchEndTime - vm.touchStartTime < 350) {
        // 当前点击的时间
        var currentTime = e.timeStamp;
        var lastTapTime = vm.lastTapTime;
        // 更新最后一次点击时间
        vm.lastTapTime = currentTime;
        // 如果两次点击时间在300毫秒内,则认为是双击事件
        if (currentTime - lastTapTime > 300) {
          // do something 点击事件具体执行那个业务
        }
      }
    }
點擊查看更多內容
8人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
1.5萬
獲贊與收藏
5278

關注作者,訂閱最新文章

閱讀免費教程

感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消