对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 相关文章推荐
javascript读取RSS数据
Jan 20 Javascript
js 控制页面跳转的5种方法
Sep 09 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
jquery 提示信息显示后自动消失的具体实现
Dec 18 Javascript
js检测浏览器版本、核心、是否移动端示例
Apr 24 Javascript
jQuery中:focus选择器用法实例
Dec 30 Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 Javascript
Javascript中判断一个值是否为undefined的方法详解
Sep 28 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
vue进入页面时不在顶部,检测滚动返回顶部按钮问题及解决方法
Oct 30 Javascript
js调用网络摄像头的方法
Dec 05 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 XML数据解析代码
2010/05/26 PHP
优化WordPress的Google字体以加速国内服务器上的运行
2015/11/24 PHP
教你php如何实现验证码
2016/01/20 PHP
php PDO属性设置与操作方法分析
2018/12/27 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
2010/01/15 Javascript
JQuery中getJSON的使用方法
2010/12/13 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
Bootstrap3学习笔记(三)之表格
2016/05/20 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
Vue.js的复用组件开发流程完整记录
2018/11/29 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
python format 格式化输出方法
2018/07/16 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
2018/12/19 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
html5 web本地存储将取代我们的cookie
2012/12/26 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
总裁办公室主任职责
2014/01/02 职场文书
《闻一多先生的说和做》教学反思
2014/04/28 职场文书
大学开学计划书
2014/04/30 职场文书
求职信怎么写
2014/05/23 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
党员公开承诺书2015
2015/01/21 职场文书
幼儿园园长六一致辞
2015/07/31 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
2016年感恩母亲节活动总结
2016/04/01 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android