微信小程序使用函数防抖解决重复点击消耗性能问题

wxml:

<view bindtap="doubleTap" bindtouchstart="touchStart" bindtouchend="touchEnd">click me</view>

   js:

 // 防止重复点击
  touchStart(e) {

    this.touchStartTime = e.timeStamp;
  },
  touchEnd(e) {
    this.touchEndTime = e.timeStamp;
  },
  doubleTap(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 点击事件具体执行那个业务

      }
    }
  }

  

原文地址:https://www.cnblogs.com/mmykdbc/p/11504327.html

时间: 2024-11-12 11:03:23

微信小程序使用函数防抖解决重复点击消耗性能问题的相关文章

微信小程序模板消息群发解决思路

基于微信的通知渠道,微信为开发者提供了可以高效触达用户的模板消息能力,以便实现服务的闭环并提供更佳的体验.(微信6.5.2及以上版本支持模板功能.低于该版本将无法收到模板消息.) 模板推送位置:服务通知(点击查看详情还能跳转到下发消息的小程序的指定页面) 模板下发条件:用户本人在微信体系内与页面有交互行为后触发 微信小程序模板消息使用说明(官方文档):https://mp.weixin.qq.com/debug/wxadoc/dev/api/notice.html 为了防止对模板消息的滥用,带来

微信小程序bug记录与解决

微信小程序bug记录 textarea textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工具上的,第二张图是在IOS真机上的.从上图可以看出来,在开发工具上显示很正常,而且没有padding,可是在真机上左上角就出现了padding,并且无论你在外部对textarea的padding做任何处理,都无法覆盖. 目前有一种解决方式是根据ios和android的不同平台来给teaxarea设置

如何使用微信小程序云函数发送短信验证码

其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,SDK下载: http://smsow.zhenzikj.com/doc/sdk.html 1. 安装下载后的SDK在cloudfunctions文件夹下会包含3个云函数文件夹,如下: 由于目前IDE没有云函数导入功能,您需要手工创建同名的云函数,然后将云函数下的文件手工拷进去 注:下载的SDK是一个

C# .net 填充无效,无法被移除 微信小程序解密失败的解决办法

微信小程序获取用户信息诸如unionId的时候需要解密,如果遇到偶然的解密失败(填充无效,无法被移除),原因很有可能是session_key错误, 也是就你用作解密的session_key并不是微信用作加密的那个了,但是并不代表你的session_key已经失效. C#解密代码(亲测有效,可以直接复制使用) /// <summary> /// Aes解密 /// </summary> /// <param name="str">需要解密的字符串<

微信小程序 onLoad 函数

小程序注册完成后,加载页面,触发onLoad方法. 页面载入后触发onShow方法,显示页面. 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次. 当小程序后台运行或跳转到其他页面时,触发onHide方法. 当小程序有后台进入到前台运行或重新进入页面时,触发onShow方法. 当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack(),触发onUnload 例如: 我们定义了一个方法: 功能是:当用户打开这个

微信小程序 功能函数 点击传参和页面

// 商品详情页跳转函数 detailInto: function (e) { // console.log() var change = e.currentTarget.dataset.id; wx.navigateTo({ url: '../detail/detail?id=' + change }) }, //接收的页面 onLoad: function (opt) { var selectnum= this.data.selectnum; selectnum.sq = opt.key;

微信小程序使用函数的三种方法

使用来自不同页面的函数 函数写在util.js页面 function formatTime(date) { var year = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() var hour = date.getHours() var minute = date.getMinutes() var second = date.getSeconds() return [year, month,

微信小程序云函数Windows下安装wx-server-sdk

第一次上传部署云函数时,会提示这个,建议在这之前先安装一下node.js. https://nodejs.org/en/ 下载nodejs,然后直接安装,在cmd控制台输入node -v和npm -v,这两个打印版本号的命令可以判断node和npm是否安装成功. 这时可以进行第一次上传部署云函数的操作了,如果你已经执行过了,那现在就需要手工来安装wx-server-sdk依赖了. 打开cmd控制台,进入到云函数的文件夹,然后执行: npm install --save [email protec

微信小程序 功能函数 将对象的键添加到数组 (函数深入)

// 将对象的键添加到数组 var arr = Object.keys(site); //英文 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys 中文 https://developer.mozilla.org/zh-CN/ https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Glo