对vue 键盘回车事件的实例讲解


Posted in Javascript onAugust 25, 2018

如果是原生的input,使用 @keyup.enter就可以,若是使用了element-ui,则要加上native限制符,因为element-ui把input进行了封装,原事件就不起作用了,代码如下:

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

现在发现这个键盘事件好像对input框支持比较好,其他的元素多少会有点问题,或者直接无效,究其原因是其他的元素没有获取焦点或者没有键盘事件。

我现在的解决方式,

如果是没有键盘事件使用css把input框绝对定位到需要绑定键盘事件的元素之上并且把input框设置为透明,把该input框与原来要绑定键盘事件的元素进行绑定,达到效果;

test.vue

<div class="container">
 <input class="item opa" @keyup="deleteDiv">
 <div class="item">div内容</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");
 }
}

如果是没有获取焦点,则可以写一个自定义指令自动获取焦点,

自动获取焦点自定义指令见我另一篇文章 点击进入

拓展知识: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>

当按下键盘的时候,执行show方法,然后再去执行相应的业务。

两个input的效果都是一样的 如果安13 也就是按键 enter 才会执行弹窗!!

@keyup.13 回车

@keyup.enter 回车

@keyup.left 左键

@keyup.right 右键

@keyup.up 上键

@keyup.down 下键

@keyup.delete 删除键

以上这篇对vue 键盘回车事件的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 替换
Feb 19 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
Jul 08 Javascript
JS二维数组的定义说明
Mar 03 Javascript
jquery处理json数据实例分析
Jun 03 Javascript
javascript初学者常用技巧
Sep 02 Javascript
javascript的tab切换原理与效果实现方法
Jan 10 Javascript
Sublime Text 3常用插件及安装方法
Dec 16 Javascript
jquery获取复选框的值的简单实例
May 26 Javascript
详解webpack 多入口配置
Jun 16 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
Dec 04 jQuery
vue项目中使用bpmn为节点添加颜色的方法
Apr 30 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
Sep 21 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
Aug 25 #Javascript
vue 自定义指令自动获取文本框焦点的方法
Aug 25 #Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 #Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 #Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
Aug 24 #Javascript
微信小程序Getuserinfo解决方案图解
Aug 24 #Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
Aug 24 #Javascript
You might like
如何获得PHP相关资料
2006/10/09 PHP
如何在PHP中使用Oracle数据库(5)
2006/10/09 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP基于正则批量替换Img中src内容实现获取缩略图的功能示例
2017/06/07 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
载入进度条 效果
2006/07/08 Javascript
求解开jscript.encode代码的asp函数
2007/02/28 Javascript
javascript定时变换图片实例代码
2013/03/17 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
jQuery实现图片局部放大镜效果
2016/03/17 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
详解三种方式解决vue中v-html元素中标签样式
2018/11/22 Javascript
JavaScript 中 JSON.parse 函数 和 JSON.stringify 函数
2018/12/05 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
[02:43]DOTA2英雄基础教程 圣堂刺客
2013/12/09 DOTA
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
python读取excel表格生成erlang数据
2017/08/26 Python
在python3环境下的Django中使用MySQL数据库的实例
2017/08/29 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
10行Python代码计算汽车数量的实现方法
2019/10/23 Python
简单了解Django项目应用创建过程
2020/07/06 Python
商场促销活动方案
2014/02/08 职场文书
保安队长职务说明书
2014/02/23 职场文书
安全生产月活动总结
2014/05/04 职场文书
植树节标语
2014/06/27 职场文书
承诺函范文
2015/01/21 职场文书
委托公证书样本
2015/01/23 职场文书
送达通知书
2015/04/25 职场文书
2019最新校园运动会广播稿!
2019/06/28 职场文书
关于考试抄袭的检讨书
2019/11/02 职场文书
【海涛教你打DOTA】虚空假面第一视角骨弓3房29杀
2022/04/01 DOTA