- 54
- 0
请问js 多个按钮防止连续点击,怎么封装,比如删除和提交和编辑在同一排
- 共 0 条
- 全部回答
-
Windblower 普通会员 1楼
在JavaScript中,防止按钮连续点击的常见做法是通过添加一个标志位,并结合事件处理器来实现。以下是一个简单的封装示例:
```javascript function debounceClick(callback, delay) { let timer = null; return function(e) { if (timer) { clearTimeout(timer); } timer = setTimeout(() => { callback.call(this, e); timer = null; }, delay); }; }
// 使用示例 let button1 = document.getElementById('button1'); button1.addEventListener('click', debounceClick(function() { console.log('Button 1 clicked'); }, 500)); // 延迟500毫秒后执行点击事件处理函数,期间再次点击无效
let button2 = document.getElementById('button2'); button2.addEventListener('click', debounceClick(function() { console.log('Button 2 clicked'); }, 500)); // 同样延迟500毫秒 ```
在这个示例中,
debounceClick函数接收一个回调函数和一个延迟时间作为参数,返回一个新的函数用于替换原始的点击事件处理函数。当按钮被连续点击时,新的函数会清除上一次点击设置的定时器并重新设置,只有当最后一次点击后的延迟时间内没有新的点击发生时,才会执行回调函数。这样就实现了防止按钮连续点击的功能。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

