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>
相关推荐
无限大66 分钟前
为什么计算机要使用二进制?——从算盘到晶体管的数字革命
前端·后端·架构
谎言西西里9 分钟前
从模板渲染到响应式驱动:前端崛起的技术演进之路
vue.js
良木林15 分钟前
字节前端高频面试题试析
前端
一 乐17 分钟前
家政管理|基于SprinBoot+vue的家政服务管理平台(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
fruge21 分钟前
图片优化终极指南:WebP/AVIF 选型、懒加载与 CDN 配置
前端
掘金一周23 分钟前
数据标注平台正式上线啦! 标注赚现金,低门槛真收益 | 掘金一周 12.10
前端·人工智能·后端
Macbethad29 分钟前
工业触摸屏技术指南:选型、难点与实战解决方案
服务器·前端·数据库
源码获取_wx:Fegn089533 分钟前
基于springboot + vue停车场管理系统
java·vue.js·spring boot·后端·spring·课程设计
cc蒲公英33 分钟前
vue 对象、数组增删改,对比vue2和vue3 —— 最新总结2025
前端·javascript·vue.js
wordbaby36 分钟前
queries(查询)
前端·react.js