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>
相关推荐
软件聚导航18 分钟前
在uniapp中使用canvas封装组件遇到的坑,数据被后面设备覆盖,导致数据和前面的设备一样
java·前端·uni-app
谈谈叭22 分钟前
Vue3中一级导航栏的吸顶导航交互以及Pinia优化重复请求
javascript·vue.js·es6·交互
好开心3325 分钟前
javaScript交互补充2(动画函数封装)
开发语言·前端·javascript·html·ecmascript
GISer_Jing27 分钟前
Javascript_设计模式(二)
javascript·设计模式·ecmascript
将登太行雪满山_36 分钟前
自存 关于RestController请求传参数 前端和后端相关
java·前端·spring boot
kali-Myon37 分钟前
ctfshow-web入门-SSTI(web369-web372)下
前端·python·学习·web安全·flask·web·ssti
鸽鸽程序猿40 分钟前
【前端】HTML
前端·html
程楠楠&M1 小时前
mongoDB的安装及使用
前端·数据库·mongodb·node
前端熊猫1 小时前
React 项目与 Vue 项目的区别
javascript·vue.js·react.js
好奇的菜鸟1 小时前
Go语言中的类型
服务器·前端·golang