前端js点击事件处理多次频繁点击问题

本文介绍了一种使用节流技术防止用户频繁点击按钮的方法,通过设置300毫秒的延迟来限制请求频率,有效避免资源浪费。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在开发中有时候我们有一个点击请求事件,如果操作者一直快速点击就会一直请求,造成资源浪费为此我们一般要进行处理防止用户频繁点击

一般处理频繁点击有:

1.显示隐藏

2.通过时间间隔进行判断

3.使用节流处理

此次使用第三种如果想了解前两种可进行搜索查询

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title></title>
    <link rel="stylesheet" href="">
</head>
<body>
    <button class="btn1" type="button">点击</button>
    <script>
        window.onload = function() {
            var isFrist = true // 是不是第一次点击
            function delBtn() {
                console.log('用户处理事件')
            }
            var throttle = function(method, context){
              clearTimeout(method.tId);
              method.tId = setTimeout(function(){
                method.call(context);
              }, 300);
            }
            let btnDom = document.querySelector('.btn1')
            btnDom.onclick=function() {
                if (isFrist) {
                    // 如果是第一次点击直接执行相关请求
                    delBtn()
                    isFrist = false
                }else {
                    // 如果不是第一次点击进行节流
                    throttle(delBtn)
                }
                
            }
        }
    </script>
</body>
</html>

节流的主要方法就是throttle这个函数每隔300毫秒执行一次delBtn这个方法,这样我们就处理了用户频繁点击的问题

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值