Vue Element-ui 鍵盤事件失效的解決
Element-ui 鍵盤事件失效
按鍵修飾符
vue中提供了一些按鍵修飾符,開發(fā)者可以直接通過按鍵修飾符捕捉鍵盤事件
Vue 允許為 v-on 在監(jiān)聽鍵盤事件時(shí)添加按鍵修飾符:
.enter.tab.delete(捕獲“刪除”和“退格”鍵).esc.space.up.down.left.right
例如:.enter
<!-- 只有在 `key` 是 `Enter` 時(shí)調(diào)用 `vm.submit()` --> <input v-on:keyup.enter="submit">
但是在開發(fā)過程中會(huì)遇到不生效的情況,此時(shí)我們需要加上 .native 按鍵修飾符
注意:只適用于 input 框 獲得焦點(diǎn) 時(shí)按下回車時(shí)生效,失去焦點(diǎn)時(shí),此功能仍不可用
<input v-on:keyup.enter.native="submit">
如果是 **button** 按鈕,那么應(yīng)該把它綁定在 **document** 上:
<el-button type="primary" @keyup.enter.native="submitForm('ruleForm')">去登錄</el-button>正確代碼:
?? ?// 在 created 生命周期鉤子函數(shù)里寫
?? ?created:function(){
?? ??? ?// 主頁添加鍵盤事件,不可以直接在焦點(diǎn)事件上添加回車
?? ??? ?var that=this;
?? ? ? ?document.οnkeydοwn=function(event){
?? ??? ? ? var key=window.event.keyCode; ?// 事件對(duì)象的 keyCode
?? ??? ??? ? ?if(key==13){
?? ??? ??? ??? ? that.submitForm('ruleForm');
?? ??? ??? ?}
?? ??? ?}
?? ?}使用element-ui時(shí)監(jiān)聽登錄界面全局鍵盤回車事件
方法一
<el-form-item prop="account">? ? ?? <el-input v-on:keyup.enter.native="handleSubmit2()" style="color: #ffffff" type="text" v-model="ruleForm.account" auto-complete="off" placeholder="賬號(hào)"></el-input> </el-form-item>
如果用了element-ui的話要在后面加上native,不然被包裹不能讀取到,這種寫法只能在鼠標(biāo)點(diǎn)擊輸入框的時(shí)候按回車才有用
方法二
在export default里面添加鉤子函數(shù)
export default {
? created() {
? ? var _self = this
?
? ? document.onkeydown = function(e) {
? ? ? var key = window.event.keyCode
?
? ? ? if (key === 13) {
? ? ? ? _self.handleSubmit2()
? ? ? }
? ? }
? },
? beforeDestroy() {
? ? document.onkeydown = function(e) {
? ? ? var key = window.event.keyCode
?
? ? ? if (key === 13) {
?
? ? ? }
? ? }
? },如果只有created函數(shù)的話那么在其他界面按回車會(huì)依然調(diào)用函數(shù),造成錯(cuò)誤的頁面跳轉(zhuǎn),所以要離開這個(gè)界面是要取消。
這樣寫就可以實(shí)現(xiàn)在該頁面鍵盤回車實(shí)現(xiàn)登錄
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂功能
這篇文章主要介紹了Vue 全家桶實(shí)現(xiàn)移動(dòng)端酷狗音樂功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
el-table樹形表格表單驗(yàn)證(列表生成序號(hào))
這篇文章主要介紹了el-table樹形表格表單驗(yàn)證(列表生成序號(hào)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05

