为了账号安全,请及时绑定邮箱和手机立即绑定

vue防重复点击(指令实现)

标签:
Vue.js

防重复点击或提交,在项目中是必不可少,如果封装成一个组件,但是点击的按钮的样式千差万别,有<button>和<a>有<div>各种实现,很难做到通用,然后就想到了用指令去实现。
直接上代码:
1、定义一个指令

Vue.directive('preventReClick', {
  inserted (el, binding) {
    el.addEventListener('click', () => {      if (!el.disabled) {
        el.disabled = true
        setTimeout(() => {
          el.disabled = false
        }, binding.value || 2000)
      }
    })
  }
})

html

<a class="btn" href="javascript:;" v-preventReClick="3000" @click.prevent="pay($event)">立即投保</a>

javascript

pay (event) {        if (event.target.disabled) {          // 点击太频繁了
          return
        }
  ...
}



作者:竿牍
链接:https://www.jianshu.com/p/c13800c9a09e


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消