想必很多小伙伴都遇到过一个问题:点击某个按钮时如果点击的比较快,可能会触发多次。如果查询操作影响还不大,如果是提交操作,那就会有问题了
实现原理:当用户第一次点击时使其元素不会成为鼠标事件的target,然后使用定时器在5秒后使元素重新可以点击,且该函数不会阻止元素的其他事件触发
//.btn是我全局的按钮样式基准,需替换成对应的jq对象
$(".btn").click(function(){
$(this).css('pointer-events', 'none')
setTimeout(() => {
$(this).css('pointer-events', 'auto')
}, 5000);//5秒后可继续点击
});
上面只加了雏形,还可对其进行一些有优化,比如:第一次点击后动画效果、后端代码双重验证等等
本文介绍了前端开发中常见的问题——用户快速点击按钮导致多次触发操作,尤其是对于提交等重要操作的影响。通过示例代码展示了如何实现防抖动技术,即在用户首次点击后禁用按钮5秒,防止短时间内连续点击。同时提出可以进一步优化,如添加动画效果和后端验证,以增强用户体验和确保数据安全。
1万+

被折叠的 条评论
为什么被折叠?



