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>
相关推荐
梦凡尘5 分钟前
Marked.js 的使用及相关问题解决
前端·js
林shir7 分钟前
3.3-Web前段开发-JavaScript(AI)
开发语言·前端·javascript
电商API&Tina11 分钟前
跨境电商高并发 API 接口接入指南(技术落地 + 高可用优化)
大数据·服务器·前端·数据库·python·json
duanyuehuan13 分钟前
vue 项目中.d.ts
前端·javascript·vue.js
阿珊和她的猫15 分钟前
Webpack 动态引入的实现原理与应用
前端·webpack·node.js
小粉粉hhh16 分钟前
记录前端菜鸟的日常——Pdf.js与双指缩放
前端·javascript·pdf
ok06020 分钟前
Chrome 小工具: 启动本地应用 (Native messaging)
前端·chrome
求梦82021 分钟前
前端基础三剑客
前端
pas13626 分钟前
27-mini-vue provide-inject
前端·javascript·vue.js
_UMR_27 分钟前
前端Vue开发环境搭建(安装Node.js)
前端·vue.js·node.js