您现在的位置是:网站首页> 编程资料编程资料
CSS利用pointer-events防止重复点击的方法实例详解CSS pointer-events属性的使用css3 pointer-events 介绍详解使用CSS的pointer-events属性实现鼠标穿透效果的神奇技巧css中pointer-events属性详解CSS的pointer-events属性详细介绍(作用和注意事项)css pointer-events属性实现下面元素可点击css不常见属性之pointer-events的使用方法
2023-10-21
252人已围观
简介 这篇文章主要给大家介绍了关于CSS利用pointer-events防止重复点击的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者理解具有一定的参考学习价值,感兴趣的朋友们下面跟着小编来一起学习学习吧。
前言
我们在前端总会遇到重复点击的问题,由于网络的原因,用户不能及时得到反馈,就很可能会选择再点击一次,
所以这个时候就会向后端发送两次重复的请求,这样就很可能会导致严重的问题,尤其是在发 post的时候,就可能会增加两条重复的数据。
之前我一般遇到这种情况都会在 js 的请求前做一个 canRequest 变量,由于请求是异步的,所以在请求开始后我就会将该变量设置为 false, 当请求结束后,无论成功还是失败都要将该变量设置为 true, 简单代码如下:
var canRequest = true function postData () { if (!canRequest) return fetch(url) .then(res => { canRequest = true }) .catch(e => { canRequest = true }) canRequest = false }
这样做并没有什么毛病,不过考虑到一般点击后还需要将按钮置灰,所以我找到了个从 css 层面上就阻止重复点击的方式。
下面是个获取短信验证码的示例:
获取验证码
body { display: flex; height: 100vh; } #count { margin: auto; padding: 10px; width: 100px; border: 1px solid; text-align: center; cursor: pointer; border-radius: 4px; } .disable { pointer-events: none; color: #666; }
const count = document.getElementById('count') const tip = count.textContent count.onclick = e => { console.log(111) count.classList.add('disable') count.textContent = 10 var id = setInterval(() => { count.textContent-- if (count.textContent <= 0) { count.classList.remove('disable') count.textContent = tip clearInterval(id) } }, 1000) }
注意: 对于 pointer-events 不了解的请查看这篇文章
demo链接:点击这里
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
相关内容
- 浅谈CSS3特性查询(Feature Query: @supports)功能简介css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- CSS优先级计算的规则css优先级计算方法(推荐)详解CSS中的选择器优先级顺序详解CSS中的选择器优先级及样式层叠问题解决CSS z-index 层级关系优先级的概念CSS优先级的两种理解方式
- css3旋转木马_动力节点Java学院整理 HTML5+css3:3D旋转木马效果相册
- css3边框_动力节点Java学院整理 css3图片边框border-image的用法CSS3实现内凹圆角的实例代码CSS3圆角边框和边界图片效果实例 CSS3实现多重边框的方法总结详解CSS3的box-shadow属性制作边框阴影效果的方法详解CSS的border边框属性及其在CSS3中的新特性6种非常炫酷的CSS3按钮边框动画特效深入浅析css3 border-image边框图像详解Css3圆角边框制作代码css3圆角边框和边框阴影示例
- 使用 css3 实现圆形进度条的示例css 进度条的文字根据进度渐变的示例代码利用css3实现进度条效果及动态添加百分比css 横向进度条和竖向进度条实现代码利用CSS3实现进度条的两种姿势详解使用CSS实现阅读进度条css 实现圆形渐变进度条效果的示例代码
- 全民飞机大战情人节活动来袭_情人节活动一览_手机游戏_游戏攻略_
- 全民飞机大战葫芦侠叉叉刷分最新教程攻略_手机游戏_游戏攻略_
- 全民飞机大战刷金币刷分技巧_2月13日叉叉助手辅助教程攻略_手机游戏_游戏攻略_
- 全民飞机大战拍大师手机版录制视频方法_游戏录视频教程_手机游戏_游戏攻略_
- 天天飞车最新辅助攻略_烧饼修改器无限隐身教程推荐_手机游戏_游戏攻略_