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>
相关推荐
程序员Ctrl喵1 分钟前
Flutter 第三阶段:基础 Widget 全面指南
开发语言·javascript·flutter
我就是马云飞1 分钟前
停更5年后,我为什么重新开始写技术内容了
android·前端·程序员
品克缤9 分钟前
Vue3 + Router 页面切换时滚动条闪烁问题记录
前端·javascript·css·vue.js
前端老石人11 分钟前
文本级语义与变更标记
前端·html
冰暮流星14 分钟前
javascript之dom方法访问内容
开发语言·前端·javascript
有意义15 分钟前
滴滴一面复盘:从CSS布局到TS核心思想
前端·面试
竹林81815 分钟前
React + wagmi 实战:从零构建一个能“读”能“写”的 DeFi 前端,我踩了这些坑
前端·javascript
我命由我1234516 分钟前
在 React 项目中,配置了 setupProxy.js 文件,无法正常访问 http://localhost:3000
开发语言·前端·javascript·react.js·前端框架·ecmascript·js
俺不会敲代码啊啊啊18 分钟前
封装 ECharts Hook 适配多种图表容器
前端·vue.js·typescript·echarts
J2虾虾22 分钟前
在Vue3中推荐使用的函数定义方法
前端·javascript·vue.js