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>
相关推荐
a11177621 分钟前
星球主题个人主页(纯HTML 开源)
前端·html
旭日跑马踏云飞28 分钟前
【Nginx】相关优化
运维·javascript·nginx
空条jo太郎33 分钟前
echarts图表联动
前端
webkubor33 分钟前
2026 年 把网页交互的主控权拿回前端手中 🚀
前端·javascript·人工智能
Lee川43 分钟前
Promise:驾驭 JavaScript 异步编程的艺术
javascript
凯里欧文42743 分钟前
极简版前端版本检测方案
前端·webpack
Desirediscipline44 分钟前
#include<limits>#include <string>#include <sstream>#include <iomanip>
java·开发语言·前端·javascript·算法
青青家的小灰灰1 小时前
深入解析 React 中的 useCallback:原理、场景与最佳实践
前端·react.js
HelloReader1 小时前
Nuxt 4.2 + Tauri 2 接入指南把 Vue 元框架“静态化”后装进桌面/移动端
前端