vue中实现button按钮的重复点击指令

csharp 复制代码
// 注册一个全局自定义指令 `v-debounce`
Vue.directive('debounce', {
  // 当被绑定的元素插入到 DOM 中时...
  inserted: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 调用传给指令的方法
      }, 500);
    });
  },
  // 当绑定元素的父组件更新时...
  update: function (el, binding) {
    let timer;
    el.addEventListener('click', () => {
      clearTimeout(timer);
      timer = setTimeout(() => {
        binding.value(); // 调用传给指令的方法
      }, 500);
    });
  }
});

// 使用指令
// 在组件中
<template>
  <button v-debounce="myClickHandler">Click me</button>
</template>

<script>
export default {
  methods: {
    myClickHandler() {
      // 处理点击事件
    }
  }
}
</script>
相关推荐
Mintopia12 小时前
CSS 你不知道的颜色用法:从现代语法到真实落地的配色策略
前端·css
undeflined12 小时前
EnvManage - 多环境开发代理管理工具
前端·javascript·node.js
三小河12 小时前
从零实现ollama本地大模型可视化+内网穿透
前端·javascript·面试
Mintopia12 小时前
高效简练的 CSS 架构:用最少规则支撑最大规模
前端·css
技术钱12 小时前
vue3 + vant移动端实现上拉刷新下拉加载
vue.js·vant
Cg1362691597412 小时前
JS-对象-array数组
开发语言·前端·javascript
weixin4562271912 小时前
省市区镇村五级联动
前端·javascript·chrome
智海观潮12 小时前
只用一周时间通过AI工具重写Next.js,Cloudflare推出vinext重建前端开发边界
开发语言·javascript·人工智能·大模型·web
窝子面12 小时前
二十三、第三方登录
前端·javascript·html
好运yoo12 小时前
在package.json中scripts这个配置的命令是什么意思
前端·webpack·json·vite·wepack