前端javascript防止重复触发的简单实现

笔记 专栏收录该内容
1 篇文章 0 订阅

前端防止重复触发的简单实现现在很多方法都是用settimeout延迟实现搞了个类似主键的简单逻辑

only_one(key,time){
if(key&&time){
let newtime = Date.now() + time; if(this[key] > Date.now()){
//重新计时,如果重新计时剩余秒数永远是time/1000
this[key] = newtime; this.$message.error(‘重复点击剩余’+time/1000+“秒”);
return false;
}else{
this[key] = newtime;
return true; }
}}

方法调用前做个return

var key = ‘duijieOA_’+e;
if(!this.only_one(key,15000)){ return; }

理论上没有延迟函数那么消耗内存

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

步凡呀

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值