前端防止button被多次点击

前端的部分逻辑有时候控制前端的显示。比方记录收藏数目等等。有时候多次反复点击会造成前端显示的bug。所以须要有部分逻辑推断去筛除掉反复多次的点击。

实现部分代码例如以下,主要是通过setTimeout去加以推断。即不管点击几次,间隔一定时间才会去触发一次事件。从而仅仅产生一次的记录:

<script>
        var i=0;  //推断点击次数寄存
        var closetimer = null;  //延时函数寄存

function Button1_Click()  //botton点击事件
   { 
        console.log('1');
        i++;  //记录点击次数
        closetimer = window.setTimeout(setout,200);  
        
    }
function setout(){  //点击运行事件
if(i>1)   //假设点击次数超过1
    {
        console.log('wrong');
        window.clearTimeout(closetimer);  //清除延时函数
        closetimer = null;  //设置延时寄存为null
        //加入操作代码        
        i=0;  //重置点击次数为0
    }
else{  //假设点击次数为1
        console.log('right');
        i=0;  //重置点击次数为0
        //加入运行操作的代码
}
}
</script>


原文地址:https://www.cnblogs.com/blfbuaa/p/7069354.html