代码先锋网 代码片段及技术文章聚合

vue防止用户在短时间内快速点击按钮多次

技术标签: vue.js  javascript  elementui

思路:

利用定时器,在一定时间内将按钮禁用,如500ms。

实现:

1、新建全局事件(保证用起来方便,不需要用一次写一次)

新建preventMultiClick.js文件

export default {
  install(Vue) {
    Vue.directive('preventMultiClick', {
      inserted(el_button, bind) {
        el_button.addEventListener('click', () => {
          if (!el_button.disabled) {
            el_button.disabled = true;
            setTimeout(() => {
              el_button.disabled = false
            }, bind.value||500)
          }
        })
      }
    })
  }
}

2、在main.js引入上面新建的js文件

import preventMultiClick from './utils/preventMultiClick';

Vue.use(preventMultiClick)

3、使用

<el-button @click="individual" v-preventMultiClick="5000">点击</el-button>

此处设置时间为5秒,不设置为500ms。 

版权声明:本文为qq_40934129原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40934129/article/details/126709236

智能推荐

vue指令实现防止按钮短时间内重复点击

转载自:https://blog.csdn.net/zhj51616/article/details/107089658/ 公司鼠标有问题,经常出现单击一次左键,却触发两次的问题。为了方便自己,就决定加个防多次触发的指令了。最主要是每次出门都忘记拿鼠标了,才不得不将就。 1、自定义指令 src/utils/preventRepeatClick.js 2、main.js文件引用 3、在按钮上直接使用...

按钮在短时间内多次点击只执行一次(暴力点击)问题

本文为博主手写总结性文章,如若涉及版权问题,请与博主联系。 关于暴力点击问题解决涉及的主要代码: @property BOOL violentClick; self.violentClick = true; 简单的说明一下思路问题:         先定义一个BOOL型的变量,然后设置变量初始化值为true,接下来在点...

Vue中防止短时间内连续点击后多次触发接口(js节流思想)

本人处于前端小白阶段,在做项目的产品模块的时候有时会连续点击提交按钮,导致添加多个重复的产品,刚开始是用disabled限制点击,体验不是太好,偶然在b站上发现一个Js节流视频,但是看得有点云里雾里,所以根据节流的思想自己写了个比较适合我的方法。 ps:这种方法虽然很好,但是遇到请求超时的情况可能不是太好处理(网络原因、数据太大)。考虑通过后端是否返回res来控制。方法还有待提高!仅供参考,嘻嘻嘻...

Vue 前端框架中限制用户短时间内多次点击同一按钮的方法(例如:登录、注册)

Vue 前端框架中限制用户短时间内多次点击同一按钮的方法(例如:登录、注册) 一、首先在项目目录(自定义)下创建'controlClickState.js'文件,后在文件中定义如下内容: 二、在项目目录下的 main.js 入口文件引用定义好的 'controlClickState.js'文件 三、在需要限制点击频率的组件中使用 参考博客 一、首先在项目目录(自定义)下创建’contr...

防止短时间内频繁点击

Android防止短时间内频繁点击工具类 使用方法:...

猜你喜欢

Android 防止短时间内重复点击

点击某个按钮弹出dialog,如果dialog 渲染比较慢 。用户并且在此刻多次点击按钮,会产生多个dialog。 解决思路: 点击之后然后按钮在一段时间再次点击不生效。 以下代码是用button做的案例 逻辑很简单,控制点主要是在(now - lastClickTime >1000) 如果间隔不大于1s 不会执行perform click 的...

vue防止短时间内请求多次指令:v-debounce

背景:在开发中,有些提交保存按钮有时候会在短时间内被点击多次,这样就会多次重复请求后端接口,造成数据的混乱,比如新增表单的提交按钮,多次点击就会新增多条重复的数据。 需求:防止按钮在短时间内被多次点击,使用防抖函数限制规定时间内只能点击一次。 思路: 定义一个延迟执行的方法,如果在延迟时间内再调用该方法,则重新计算执行时间。 将时间绑定在 click 方法上。 使用:给 Dom 加上 v-debo...

使用runtime防止按钮短时间内被重复点击

最近看到一篇博客很好, 转来做个笔记, 就是关于标题所说的东西 http://www.jianshu.com/p/65ce6471cd0f 新建一个基于UIButton的category, 在.h里面把响应点击事件的属性声明出去 来到.m, 先引入runtime的头文件, 然后 用的时候在所在类里引入这个类的头文件, 注意是#import "" 然后需要的button属性.cu...

Android防止button短时间内多次被点击(具体间隔时间可自由选取)

1.背景 在平常的Android开发中,有时需要对某个button做防护,防止在短时间内由于用户的多次点击,使后台的逻辑处理在短时间内被多次触发,最终可能导致应用崩溃,因此写了下面的小方法来解决这一问题. 2.解决方案  ...

Android防止button短时间内多次被点击(具体间隔时间可自由选取)

1.背景 在平常的Android开发中,有时需要对某个button做防护,防止在短时间内由于用户的多次点击,使后台的逻辑处理在短时间内被多次触发,最终可能导致应用崩溃,因此写了下面的小方法来解决这一问题. 2.解决方案...