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>
相关推荐
BD_Marathon4 分钟前
【JavaWeb】JS_JSON在服务端的使用
javascript
一 乐8 分钟前
海鲜商城购物|基于SprinBoot+vue的海鲜商城系统(源码+数据库+文档)
前端·javascript·数据库·vue.js·spring boot
m0_7269659812 分钟前
ReAct 小发展
前端·react.js·前端框架
秋邱13 分钟前
AR 技术团队搭建与规模化接单:从个人到团队的营收跃迁
前端·人工智能·后端·python·html·restful
Hello.Reader15 分钟前
从 SSE 到 WebSocket实时 Web 通信的全面解析与实战
前端·websocket·网络协议
大熊猫侯佩20 分钟前
Swift 6.2 列传(第三篇):字符串插值的 “补位神技”
前端·swift·apple
大熊猫侯佩25 分钟前
Swift 6.2 列传(第二篇):标识符的 “破界神通”
前端·swift·apple
一颗宁檬不酸26 分钟前
Java Web 踩坑实录:JSTL 标签库 URI 解析失败(HTTP 500 错误)完美解决
java·开发语言·前端
Nan_Shu_61430 分钟前
熟悉RuoYi-Vue-Plus-前端 (2)
前端·javascript·vue.js
酒尘&33 分钟前
JavaScript官网Promise篇
开发语言·前端·javascript·前端框架·交互