欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue 防止多次點擊的實踐

 更新時間:2021年08月08日 11:59:33   作者:小白_0615  
本文主要介紹了vue 防止多次點擊,可以有效防止惡意點擊,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

一般點擊事件會分不同的情況進行消息提醒,如果不做處理,短短幾秒彈出很多條提示信息,就會很煩,比如:

那要怎么控制這個提示信息只能出現(xiàn)單條呢

再點擊事件的方法最前面加上

定義變量hasRemind來控制是否執(zhí)行點擊事件里的相應操作

當用戶第一次點擊的時候,hasRemind = false,此時,進入到第二個if語句,講hasRemind的值改變?yōu)閠rue,并且在3秒后再將hasRemind的值改為false,這是情況下,用戶可以正常進入到點擊事件里的所有流程

當用戶第二次點擊的時候,hasRemind=true,此時直接跳出點擊事件,等待hasRemind的值為false的時候才能繼續(xù)進行該點擊方法里的系列流程 

//默認可以觸發(fā)登錄的點擊事件
hasRemind:false,
 
//防止連續(xù)多次點擊
let vm = this;
if(this.hasRemind === true)  return;
if(this.hasRemind === false){
    this.hasRemind = true;
    setTimeout(function(){
       vm.hasRemind = false;
    },3000)
}

(這里就是將上述代碼段放在了登錄的點擊事件里,以防止用戶多次點此,出現(xiàn)很多條提示信息的情況)

 // "個人登錄點擊事件"
            registerBtn() {
                //防止連續(xù)多次點擊
                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'
                                });
                                //跳轉(zhuǎn)到注冊頁面
                                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'
                                });
                                //跳轉(zhuǎn)到注冊頁面
                                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);
                            }
                        })
                    }
                }
            },

到此這篇關(guān)于vue 防止多次點擊的實踐的文章就介紹到這了,更多相關(guān)vue 防止多次點擊內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于Element-ui中table默認選中toggleRowSelection問題

    關(guān)于Element-ui中table默認選中toggleRowSelection問題

    這篇文章主要介紹了關(guān)于Element-ui中table默認選中toggleRowSelection問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 解決Vue3?echarts?v-show無法重新渲染的問題

    解決Vue3?echarts?v-show無法重新渲染的問題

    這篇文章主要介紹了Vue3?echarts?v-show無法重新渲染的問題,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • vue.js+element-ui的基礎(chǔ)表單實例代碼

    vue.js+element-ui的基礎(chǔ)表單實例代碼

    這篇文章主要介紹了vue.js+element-ui的基礎(chǔ)表單實例代碼,技術(shù)棧即html+vue.js+element-ui,而使用它們的方法也很簡單,引入對應的js和css文件即可,需要的朋友可以參考下
    2024-03-03
  • vue父子組件傳值不能實時更新的解決方法

    vue父子組件傳值不能實時更新的解決方法

    Vue是一個以數(shù)據(jù)驅(qū)動、組件化的前端框架,其中組件化是Vue中較為重要的概念之一,組件之間的通信則成為Vue中較為普遍的需求,下面這篇文章主要給大家介紹了關(guān)于vue父子組件傳值不能實時更新的解決方法,需要的朋友可以參考下
    2023-05-05
  • vue+element ui el-tooltip動態(tài)顯示隱藏問題

    vue+element ui el-tooltip動態(tài)顯示隱藏問題

    這篇文章主要介紹了vue+element ui el-tooltip動態(tài)顯示隱藏問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue el-table實現(xiàn)遞歸嵌套的示例代碼

    vue el-table實現(xiàn)遞歸嵌套的示例代碼

    本文主要介紹了vue el-table實現(xiàn)遞歸嵌套的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • vue項目打包發(fā)布上線的方法步驟

    vue項目打包發(fā)布上線的方法步驟

    本文主要介紹了vue項目打包發(fā)布上線的方法步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • vue中解決微信html5原生ios虛擬鍵返回不刷新問題

    vue中解決微信html5原生ios虛擬鍵返回不刷新問題

    這篇文章主要介紹了vue中解決微信html5原生ios虛擬鍵返回不刷新問題,本文給大家分享解決方法,通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • vue腳手架vue-cli的學習使用教程

    vue腳手架vue-cli的學習使用教程

    本篇文章主要介紹了vue腳手架vue-cli的學習使用教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 詳解Vue單元測試Karma+Mocha學習筆記

    詳解Vue單元測試Karma+Mocha學習筆記

    本篇文章主要介紹了詳解Vue單元測試Karma+Mocha學習筆記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01

最新評論