首页 > 代码库 > 前端防止按钮被多次点击

前端防止按钮被多次点击

前端的部分逻辑有时候控制前端的显示,比如记录收藏数目等等。有时候多次重复点击会造成前端显示的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>