微信小程序使用函数防抖解决重复点击消耗性能问题
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 点击事件具体执行那个业务 } } }