小程序防止bindtap事件重复触发或者短时间触发多次操作

发布于 6 年前作者 mingduan962 次浏览最后编辑 6 年前来自 share

视图层

<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 回复
yyang
yyang1 楼6 年前

wx.showLoading({

title: ‘加载中’,

mask: ‘true’

})

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

xiuying19
xiuying192 楼6 年前

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

wlei
wlei3 楼4 年前

函数防抖了解一下