iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue 防止多次点击的实践
  • 543
分享到

vue 防止多次点击的实践

2024-04-02 19:04:59 543人浏览 独家记忆
摘要

一般点击事件会分不同的情况进行消息提醒,如果不做处理,短短几秒弹出很多条提示信息,就会很烦,比如: 那要怎么控制这个提示信息只能出现单条呢 再点击事件的方法最前面加上 定义变量ha

一般点击事件会分不同的情况进行消息提醒,如果不做处理,短短几秒弹出很多条提示信息,就会很烦,比如:

那要怎么控制这个提示信息只能出现单条呢

再点击事件的方法最前面加上

定义变量hasRemind来控制是否执行点击事件里的相应操作

当用户第一次点击的时候,hasRemind = false,此时,进入到第二个if语句,讲hasRemind的值改变为true,并且在3秒后再将hasRemind的值改为false,这是情况下,用户可以正常进入到点击事件里的所有流程

当用户第二次点击的时候,hasRemind=true,此时直接跳出点击事件,等待hasRemind的值为false的时候才能继续进行该点击方法里的系列流程 


//默认可以触发登录的点击事件
hasRemind:false,
 

//防止连续多次点击
let vm = this;
if(this.hasRemind === true)  return;
if(this.hasRemind === false){
    this.hasRemind = true;
    setTimeout(function(){
       vm.hasRemind = false;
    },3000)
}

(这里就是将上述代码段放在了登录的点击事件里,以防止用户多次点此,出现很多条提示信息的情况)


 // "个人登录点击事件"
            reGISterBtn() {
                //防止连续多次点击
                let vm = this;
                if(this.hasRemind === true)  return;
                if(this.hasRemind === false){
                    this.hasRemind = true;
                    setTimeout(function(){
                        vm.hasRemind = false;
                    },3000)
                }
                var qs = Qs;
                if (this.logintype == 1) {
                    //账号密码登录
                    if (this.username == "") {
                        this.$message({
                            message: '请输入账号',
                            type: 'warning'
                        });
                        return false;
                    }
                    else if (this.passWord == "") {
                        this.$message({
                            message: '请输入密码',
                            type: 'warning'
                        });
                        return false;
                    } else {
                        request_POST('/login', qs.stringify({
                            identity: this.username,
                            desStr: this.password,
                            loginType: 1,
                            loginRole: 0
                        })).then((res) => {
                            if (res.data.code == 200) {
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                //登陆成功
                                // window.open(this.apiHost + 'uesr/resume', '_parent')
                                window.open(this.apiHost + 'index/index', '_parent')
                            } else if (res.data.code == 12462) {
                                this.$message({
                                    message: '用户未注册',
                                    type: 'warning'
                                });
                                //跳转到注册页面
                                setTimeout(() => {
                                    window.open(this.apiHost + 'userregister/userregister',
                                        '_self');
                                }, 1000)
                            } else if (res.data.code == 12468) { //用户无用户名密码
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/enterAccount', '_parent');
                            } else if (res.data.code == 604) { //用户无简历
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/fillresume', '_parent');
                            } else if (res.data.code == 1077) { //简历未通过审核
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/fillresume', '_parent');
                            } else if (res.data.code == 1075) { //简历审核中
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/audit', '_parent');
                            } else {
                                this.$message.error(res.data.message);
                            }
                        })
                    }
                } else {
                    //验证码登录
                    if (this.phone == "") {
                        this.$message({
                            message: '请输入手机号',
                            type: 'warning'
                        });
                        return false;
                    } else if (!(/^(13[0-9]|14[5-9]|15[012356789]|166|17[0-8]|18[0-9]|19[8-9])[0-9]{8}$/.test(
                            this.phone))) {
                        this.$message({
                            message: '请输入正确的手机号',
                            type: 'warning'
                        });
                        return false;
                    } else if (this.code == "") {
                        this.$message({
                            message: '请输入验证码',
                            type: 'warning'
                        });
                        return false;
                    } else {
                        request_POST('/login', qs.stringify({
                            identity: this.phone,
                            captcha: this.code,
                            loginType: 2,
                            loginRole: 0
                        })).then((res) => {
                            if (res.data.code == 200) {
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/resume', '_parent');
                            } else if (res.data.code == 12462) {
                                this.$message({
                                    message: '用户未注册',
                                    type: 'warning'
                                });
                                //跳转到注册页面
                                setTimeout(() => {
                                    window.open(this.apiHost + 'userregister/userregister',
                                        '_self');
                                }, 1000)
                            } else if (res.data.code == 12468) { //用户无用户名密码
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/enterAccount', '_parent');
                            } else if (res.data.code == 604) { //用户无简历
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/fillresume', '_parent');
                            } else if (res.data.code == 1077) { //简历未通过审核
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/fillresume', '_parent');
                            } else if (res.data.code == 1075) { //简历审核中
                                localStorage.setItem("token", res.data.data["JEECMS-Auth-Token"]);
                                window.open(this.apiHost + 'uesr/audit', '_parent');
                            } else {
                                this.$message.error(res.data.message);
                            }
                        })
                    }
                }
            },

到此这篇关于Vue 防止多次点击的实践的文章就介绍到这了,更多相关vue 防止多次点击内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue 防止多次点击的实践

本文链接: https://www.lsjlt.com/news/132069.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue 防止多次点击的实践
    一般点击事件会分不同的情况进行消息提醒,如果不做处理,短短几秒弹出很多条提示信息,就会很烦,比如: 那要怎么控制这个提示信息只能出现单条呢 再点击事件的方法最前面加上 定义变量ha...
    99+
    2024-04-02
  • vue防止多次点击的实现方法
    本篇内容主要讲解“vue防止多次点击的实现方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue防止多次点击的实现方法”吧!一般点击事件会分不同的情况进行消息提醒,如果不做处理,短短几秒弹出很...
    99+
    2023-06-20
  • vue怎么防止用户多次点击请求
    本文小编为大家详细介绍“vue怎么防止用户多次点击请求”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue怎么防止用户多次点击请求”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。防抖防抖是一种在用户停止操作一段时...
    99+
    2023-07-05
  • 详解vue如何防止用户多次点击请求
    在现代web应用程序中,用户操作经常需要与服务器进行交互。用户频繁点击按钮或提交表单可能会导致前端向服务端发送多个请求,这会导致性能下降和资源浪费。Vue.js是一个流行的JavaScript框架,提供了一种解决此问题的方法。在本文中,我们...
    99+
    2023-05-14
  • vue 禁止重复点击发送多次请求的实现
    目录1.通过控制 loading 来设置 loading,或者 disabled2.使用Vue自定义指令3. 使用debounce函数4.最终解决方案lodash某些情况下,为了阻止...
    99+
    2023-03-06
    vue 禁止重复点击 vue 发送多次请求
  • vue禁止重复点击发送多次请求如何实现
    本篇内容介绍了“vue禁止重复点击发送多次请求如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!某些情况下,为了阻止用户短时间内重复点击...
    99+
    2023-07-05
  • springboot防止重复请求防止重复点击的操作
      利用 springboot + redis 实现过滤重复提交的请求,业务流程如下所示,首先定义一个拦截器,拦截需要进行过滤的URL,然后用 session +...
    99+
    2023-01-30
    springboot 重复请求 springboot 重复点击
  • vue中div禁止点击事件的实现
    目录div禁止点击事件div作为按钮不可点击问题的处理div禁止点击事件 在props里面定义一个判断是不是只读的属性。 在最外面的div里面添加三元表达式 pointer-e...
    99+
    2024-04-02
  • Vue如何防止按钮重复点击方案详解
    目录前言目的文件结构实现请求拦截响应拦截取消重复发送请求调用前言 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 axios 是目前...
    99+
    2022-12-09
    Vue按钮重复点击 Vue防止按钮重复点击 Vue避免重复点击
  • vue如何处理防止按钮重复点击问题
    目录处理防止按钮重复点击vue防止重复执行点击事件方法一:在规定时间内将按钮禁用的方法方法二:用指令的方式实现,全局注册 处理防止按钮重复点击 1.在button上绑定动态...
    99+
    2024-04-02
  • vue中如何防止用户频繁点击按钮详解
    目录1、在项目中遇到一个问题:2、解决办法3、具体实现:方法1步骤:方法2:方法三:总结1、在项目中遇到一个问题: 当事件中的代码执行耗费时间,且用户在短时间不断点击按钮,造成短时间...
    99+
    2024-04-02
  • vue中div禁止点击事件怎么实现
    这篇文章主要介绍“vue中div禁止点击事件怎么实现”,在日常操作中,相信很多人在vue中div禁止点击事件怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中div禁止点击事件怎么实现”的疑惑有所...
    99+
    2023-06-29
  • css实现禁止点击的方法
    这篇文章主要介绍了css实现禁止点击的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。css实现禁止点击的方法:1、通过设置“disabled”为input框添加禁用状态;...
    99+
    2023-06-14
  • SpringBoot防止大量请求攻击的实现
    我们使用Jmeter测试同学的网站时,就会出现网站无法访问,403等错误。 An error occurred. Sorry, the page you are looking f...
    99+
    2024-04-02
  • 使用 PHP 函数的安全性最佳实践有哪些,以防止攻击?
    为防止 php 函数中的攻击,最佳实践包括:输入验证:在使用用户输入前验证,防止恶意代码注入。输出转义:输出数据前进行转义,避免恶意字符执行。准备语句:执行带用户输入的 sql 查询时使...
    99+
    2024-05-01
    php安全实践 mysql lsp
  • 如何实现防止ARP攻击的shell代码
    小编给大家分享一下如何实现防止ARP攻击的shell代码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:#!/bin/bashdeclare gw=`ro...
    99+
    2023-06-09
  • golang如何实现防止CSRF攻击的功能
    CSRF(Cross-site request forgery)是一种网络攻击技术,攻击者通过伪造用户的请求,达到欺骗服务器的目的。Golang 语言提供了一些工具库和框架,可以帮助我们实现防止 CSRF 攻击的功能。CSRF 基本原理CS...
    99+
    2023-05-14
  • js中如何实现控制按钮防止频繁点击响应
    这篇文章主要为大家展示了“js中如何实现控制按钮防止频繁点击响应”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js中如何实现控制按钮防止频繁点击响应”这篇文章吧...
    99+
    2024-04-02
  • vue怎么实现重复点击取消上一次请求封装
    本篇内容主要讲解“vue怎么实现重复点击取消上一次请求封装”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么实现重复点击取消上一次请求封装”吧!使用场景重复点击或者多tab标签使用一个视图...
    99+
    2023-07-04
  • Redis分布式锁防止缓存击穿的实现
    缓存击穿 和缓存穿透不同的是,缓存击穿是指:缓存中没有,但是数据库中存在的热点数据。 例如:首页的热点新闻,并发访问量非常大的热点数据,如果缓存过期失效,服务器会去查询DB,这时候如...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作