vue中實現(xiàn)回車鍵登錄功能
created() { let that = this; document.onkeypress = function(e) { var keycode = document.all ? event.keyCode : e.which; if (keycode == 13) { that.login();// 登錄方法名 return false; } }; }
以上的代碼,在這幾天測試發(fā)現(xiàn)有一個問題,在登錄進系統(tǒng)之后,從首頁切換到其他界面,點擊回車,會導(dǎo)致界面調(diào)整到首頁!
要實現(xiàn):
只在Login界面點擊回車才執(zhí)行onkeypress方法,其他的點回車均不觸發(fā)(還不明白為什么在其他界面回車會執(zhí)行Login界面的created-_-|| )
思路:
在Login.vue最外層綁定id,再綁定鍵盤事件。
$(“#loginDiv”).bind("keypress",toLogin);
測試發(fā)現(xiàn)監(jiān)聽不到按鍵事件,因為div元素沒法獲取焦點,但只要為div元素加上tabIndex屬性就能獲取焦點
<div tabIndex=-1></div>
以上方法雖然也能觸發(fā)keypress,但還有點瑕疵~ 就是打開登錄頁時,需要鼠標點一下界面,才能觸發(fā)keypress?。?!
又一思路:界面中需要有一個聚焦,在回車時才好執(zhí)行keypress。故在界面中加input文本框,讓不管從哪里打開或跳到Login.vue都聚焦文本框
所以自定義指令:
<div id="loginDiv" tabindex="1" style="outline:0;" > <input type="text" v-focus style="opacity:0;position:absolute;"> </div>
directives: { focus: { // 指令的定義 inserted: function (el) { el.focus() } } },
自定義指令及inserted用法截圖自vue官網(wǎng)文檔如下:
知識點補充:
vue項目里登錄界面實現(xiàn)回車登錄
方法一:
在vue的created鉤子函數(shù)中寫
//登錄添加鍵盤事件,注意,不能直接在焦點事件上添加回車 // let that = this; // document.onkeydown = function (e) { // e = window.event || e; // if(that.$route.path=='/login'&&(e.code=='Enter'||e.code=='Num Enter')){//驗證在登錄界面和按得鍵是回車鍵enter // that.handleSubmit2('ruleForm2');//登錄函數(shù) (handleSubmit2('ruleForm2')-登錄按鈕的點擊事件) // } // }
注意:只對主鍵盤的Enter管用
方法二:
在vue的created鉤子函數(shù)中寫
var _self = this; document.onkeydown = function(e){ var key = window.event.keyCode; if(key == 13 || key == 100){ _self.handleSubmit2('ruleForm2'); } }
對主鍵盤和小鍵盤的Enter都管用
總結(jié)
以上所述是小編給大家介紹的vue中實現(xiàn)回車鍵登錄功能,希望對大家有所幫助,也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue-cli3項目生產(chǎn)和測試環(huán)境分包后文件名和數(shù)量不一致解決
這篇文章主要為大家介紹了vue-cli3項目生產(chǎn)和測試環(huán)境分包后文件名和數(shù)量不一致解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05vue使用better-scroll實現(xiàn)橫向滾動的方法實例
這幾天研究項目時,看到了 better-scroll 插件,看著感覺功能挺強,這篇文章主要給大家介紹了關(guān)于vue使用better-scroll實現(xiàn)橫向滾動的相關(guān)資料,需要的朋友可以參考下2021-06-06vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法
今天小編就為大家分享一篇vue-cli 3.0 自定義vue.config.js文件,多頁構(gòu)建的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動
這篇文章主要介紹了vue使用better-scroll實現(xiàn)滑動以及左右聯(lián)動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06