小程序防止bindtap事件重复触发或者短时间触发多次操作
发布于 5 年前 作者 mingduan 816 次浏览 来自 分享

视图层

<view bindtap="{{!buttonClicked?‘btnShowConfirm’:’’}}" wx:if="{{btnShow}}" class=“pj-sbuimt” style=“background-color:#FFC000;”>
提交评价
</view>

**逻辑层 js **

const cfclick = require(’…/…/utils/util’) //引入公用js 防重复

data{
buttonClicked: false //防重复提交
}

btnShowConfirm(){
cfclick.ButtonClicked(this)
//执行的代码块
}
util.js
//防重复点击
var ButtonClicked=function (self) {

self.setData({
buttonClicked: true
})
setTimeout(function () {
self.setData({
buttonClicked: false
})
}, 600)
}

module.exports = {
ButtonClicked:ButtonClicked
}

3 回复

wx.showLoading({

title: ‘加载中’,

mask: ‘true’

})

3行代码解决…点击后就开始运行加载框  mask 只要加载中就不触摸穿透

没有用的,如果手速快还是不能拦截。正确的做法是做同步。

函数防抖了解一下

回到顶部