最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

對vue 鍵盤回車事件的實例講解

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:09:09
文檔

對vue 鍵盤回車事件的實例講解

對vue 鍵盤回車事件的實例講解:如果是原生的input,使用 @keyup.enter就可以,若是使用了element-ui,則要加上native限制符,因為element-ui把input進(jìn)行了封裝,原事件就不起作用了,代碼如下: <input v-model=form.name placeholder=昵稱 @keyu
推薦度:
導(dǎo)讀對vue 鍵盤回車事件的實例講解:如果是原生的input,使用 @keyup.enter就可以,若是使用了element-ui,則要加上native限制符,因為element-ui把input進(jìn)行了封裝,原事件就不起作用了,代碼如下: <input v-model=form.name placeholder=昵稱 @keyu

如果是原生的input,使用 @keyup.enter就可以,若是使用了element-ui,則要加上native限制符,因為element-ui把input進(jìn)行了封裝,原事件就不起作用了,代碼如下:

<input v-model="form.name" placeholder="昵稱" @keyup.enter="submit">
<el-input v-model="form.name" placeholder="昵稱" @keyup.enter.native="submit"></el-input>

現(xiàn)在發(fā)現(xiàn)這個鍵盤事件好像對input框支持比較好,其他的元素多少會有點問題,或者直接無效,究其原因是其他的元素沒有獲取焦點或者沒有鍵盤事件。

我現(xiàn)在的解決方式,

如果是沒有鍵盤事件使用css把input框絕對定位到需要綁定鍵盤事件的元素之上并且把input框設(shè)置為透明,把該input框與原來要綁定鍵盤事件的元素進(jìn)行綁定,達(dá)到效果;

test.vue

<div class="container">
 <input class="item opa" @keyup="deleteDiv">
 <div class="item">div內(nèi)容</div>
 <span click="DeleteDiv">X</span>
</div>

css:

div.container{
 position:relative;
}
.item{
 position:absolute;
 top:0;
 left:0;
 width:100px;
 height:100px;
 border:1px solid #ccc;
}
.opa{
 opacity:0;
 z-index:5;
}
span{
 position:absolute;
 top:5px;
 right:5px;
 z-index:10;
}

js:

methods:{
 deleteDiv(){
 alert("delete");
 }
}

如果是沒有獲取焦點,則可以寫一個自定義指令自動獲取焦點,

自動獲取焦點自定義指令見我另一篇文章 點擊進(jìn)入

拓展知識:vuejs 2.0 鍵盤事件詳解

如下所示:

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <meta charset="utf-8">
 <script src="vue.js"></script>

 <script type="text/javascript">
 window.onload = function(){
 var vm = new Vue({
 el:'#box',
 methods:{
 show:function(ev){
 if(ev.keyCode == 13){
 alert('你按回車鍵了');
 }
 },
 }
 });
 }
 </script>
</head>
<body>
 <div id="box">
 <input type="text" placeholder="請輸入" @keyup="show($event)"> 

 <input type="text" placeholder="請輸入" @keyup.13="show($event)">
 </div>
</body>
</html>

當(dāng)按下鍵盤的時候,執(zhí)行show方法,然后再去執(zhí)行相應(yīng)的業(yè)務(wù)。

兩個input的效果都是一樣的 如果安13 也就是按鍵 enter 才會執(zhí)行彈窗?。?/p>

@keyup.13 回車

@keyup.enter 回車

@keyup.left 左鍵

@keyup.right 右鍵

@keyup.up 上鍵

@keyup.down 下鍵

@keyup.delete 刪除鍵

以上這篇對vue 鍵盤回車事件的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

對vue 鍵盤回車事件的實例講解

對vue 鍵盤回車事件的實例講解:如果是原生的input,使用 @keyup.enter就可以,若是使用了element-ui,則要加上native限制符,因為element-ui把input進(jìn)行了封裝,原事件就不起作用了,代碼如下: <input v-model=form.name placeholder=昵稱 @keyu
推薦度:
標(biāo)簽: 鍵盤 VUE enter
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top