當(dāng)用戶使用時(shí),點(diǎn)擊按鈕等操作時(shí)反應(yīng)慢就會(huì)出現(xiàn)暴力點(diǎn)擊問(wèn)題,設(shè)置一定時(shí)間內(nèi)不重復(fù)執(zhí)行點(diǎn)擊操作
//連點(diǎn)t毫秒內(nèi)不重復(fù)執(zhí)行
function stopClick(_this,t,succ) {
????if(!_this.firstTime){//首次點(diǎn)擊,記錄時(shí)間并執(zhí)行回調(diào)操作
????????_this.firstTime= new Date()
????????_this.$nextTick(()=>{
????????????if(typeof(succ)=="function"){
????????????????succ()
????????????}
????????})
????}else{
????????let nowTime= new Date()
????????let dateDiff = nowTime - _this.firstTime
????????//非首次點(diǎn)擊則判斷是否是t毫秒后,是,執(zhí)行回調(diào)并把當(dāng)前時(shí)間設(shè)定為首次點(diǎn)擊時(shí)間;否:不執(zhí)行
????????if(dateDiff>t){
????????????_this.firstTime= nowTime
? ? ? ? ? ? ?_this.$nextTick(()=>{
????????????????if(typeof(succ)=="function"){
????????????????????succ()
????????????????}
????????????})
????????}
????}
}
//vue頁(yè)面使用:(2500毫秒內(nèi)連點(diǎn)不執(zhí)行點(diǎn)擊操作)
stopClick(this,2500,()=>{
? ? //后續(xù)點(diǎn)擊操作
})