vue 指定时间内按钮点击次数限制
(解决a标签不能使用disabled属性问题)
说明为实现控制按钮点击次数,需要使用setTimeout函数,其次因为是在这里的背景是在vue项目之中,直接使用vue的自定义属性的方法;如果是在jquery项目中,也可以使用该方法,只是配置方法需要改动下
步骤1、定义一个js,用于定义自定义属性及其点击次数控制方法 注: 1)因为a标签中没有disabled属性,所以使用disabled来控制会不生效,所以这里替换成了使用pointer-events属性,它的作用是让元素的点击事件失效;如果无需在a标签上使用,建议用disabled属性 2)这里定义的onceClick就是自定义的属性名,采用驼峰命名法,使用属性名时将驼峰转换为中划线,并加上v,如“v-once-click”
export default {
install (Vue) {
// 防止重复点击 在前端元素中添加 v-prevent-click属性
Vue.directive('onceClick', {
inserted (el, binding) {
el.addEventListener('click', () => {
if (el.style.pointerEvents === '') {
// el.disabled = true;
el.style.pointerEvents = 'none'; // 防止a标签
setTimeout(() => {
el.style.pointerEvents = '';
//el.disabled = false;
// 这里设置的3秒不可重复点击
}, 3000);
}
})
}
})
}
}
2、在main.js中声明
import onceClick from './services/ClickOnce.js'
Vue.use(onceClick)
3、在具体元素中部署 只需要添加上‘v-once-click’属性即可
保存
关注
打赏
热门博文
- IO多路复用器 select, epoll发展历程,工作原理,区别
- mysql进阶:canal实现跨机房数据同步|主从数据同步
- 连夜整理了多年后端开发最常用linux指令(建议收藏,边用边学)
- JAVA:如何优雅地书写if-else(策略模式、函数式接口、卫语句)
- 企业级GIT分支管控方案
- spring cloud tencent:基于polaris手把手搭建微服务框架(附带源码)(二)
- mac pro M1(ARM)安装:ftp远程文件互传工具
- 软件开发者必备的15款mac软件
- spring data elasticsearch:复杂查询指南
- spring data elasticsearch: 设置保活策略|长时间不连接es,报错超时连接