防止按钮被频繁点击

在做开发的时候,不希望按钮被用户频繁点击,给后端服务器增加负担,这个时候,可以在按钮的触发函数加上如下代码:

// 禁用按钮

const fetchButton = document.querySelector('.btn-fetch');

fetchButton.disabled = true;

// 延时61秒后重新启用按钮

setTimeout(() => {

fetchButton.disabled = false;

}, 6000);

或者:

// 禁用按钮

const fetchButton = document.querySelector('#downloadButton1');

fetchButton.disabled = true;

// 延时6秒后重新启用按钮

setTimeout(() => {

fetchButton.disabled = false;

}, 6000);

这里的querySelector后面筛选的是按钮的类或者id,

比如:

id为btnFetchMetrics的按钮,点击后触发函数:fetchMetrics()

此时如果希望这个按钮被频繁点击时,每六秒仅生效一次,只需在函数fetchMetrics()下面加上如下代码:

const fetchButton = document.querySelector('#btnFetchMetrics');

fetchButton.disabled = true;

// 延时6秒后重新启用按钮

setTimeout(() => {

fetchButton.disabled = false;

}, 6000);

即可实现功能

相关推荐
code_Bo18 小时前
使用micro-app 多层嵌套的问题
前端·javascript·架构
小灰18 小时前
VS Code 插件 Webview 热更新配置
前端·javascript
进击的明明18 小时前
前端监控与前端兜底:那些我们平常没注意,但真正决定用户体验的“小机关”
前端·面试
前端老宋Running18 小时前
我只改了个头像,为什么整个后台系统都闪了一下?
前端·react.js·面试
r***013818 小时前
SpringBoot3 集成 Shiro
android·前端·后端
八哥程序员18 小时前
深入理解 JavaScript 作用域与作用域链
前端·javascript
m***667318 小时前
Python 爬虫实战案例 - 获取社交平台事件热度并进行影响分析
开发语言·爬虫·python
前端一课18 小时前
【vue高频面试题】第 11 题:Vue 的 `nextTick` 是什么?为什么需要它?底层原理是什么?
前端·面试
前端一课18 小时前
【vue高频面试题】第 10 题:`watch` VS `watchEffect` 的区别是什么?触发时机有什么不同?
前端·面试
h***346318 小时前
SpringBoot3.3.0集成Knife4j4.5.0实战
android·前端·后端