[vue] 按钮限制连点

首先我们新建一个js文件,例如 plugins.js

js 复制代码
import Vue from 'vue';
const pointDoms = []; // 使用这个指令的所有DOM对象
Vue.directive('points', {
  inserted(el, binding) {
    pointDoms.push(el); // 存储使用这个指令的DOM
    el.addEventListener('click', () => {
      // 禁用所有使用这个指令的DOM结构点击事件
      pointDoms.forEach(pointItem => {
        pointItem.style.pointerEvents = 'none';
      });
      setTimeout(() => {
        // 启动所有使用这个指令的DOM结构点击事件
        pointDoms.forEach(pointItem => {
          pointItem.style.pointerEvents = 'auto';
        });
      }, binding.value || 1500);
    });
  }
});

在main.js中自行引入

js 复制代码
import "@/assets/resource/plugins.js"; // 引入自定义指令防止连点

使用时只需要在需要点击的按钮上加上自定义的指令"v-points",例如

html 复制代码
<span v-points="1000">按钮</span>
<button v-points>按钮</button>

参考:

vue按钮限制连点封装 自定义指令限制连点

相关推荐
无责任此方_修行中16 分钟前
每周见闻分享:杂谈AI取代程序员
javascript·资讯
Σίσυφος190044 分钟前
halcon 条形码、二维码识别、opencv识别
前端·数据库
学代码的小前端1 小时前
0基础学前端-----CSS DAY13
前端·css
dorabighead2 小时前
JavaScript 高级程序设计 读书笔记(第三章)
开发语言·javascript·ecmascript
css趣多多2 小时前
案例自定义tabBar
前端
姑苏洛言3 小时前
DeepSeek写微信转盘小程序需求文档,这不比产品经理强?
前端
林的快手3 小时前
CSS列表属性
前端·javascript·css·ajax·firefox·html5·safari
匹马夕阳4 小时前
ECharts极简入门
前端·信息可视化·echarts
bug总结4 小时前
新学一个JavaScript 的 classList API
开发语言·javascript·ecmascript
网络安全-老纪4 小时前
网络安全-js安全知识点与XSS常用payloads
javascript·安全·web安全