对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 CSS画图之基础篇
Jul 29 Javascript
jquery根据name属性查找的小例子
Nov 21 Javascript
用js将内容复制到剪贴板兼容浏览器
Mar 18 Javascript
javascript获取元素偏移量的方法有哪些
Jun 24 Javascript
常用的jQuery前端技巧收集
Dec 24 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
Jun 03 Javascript
微信小程序中form 表单提交和取值实例详解
Apr 20 Javascript
JSON.stringify()方法讲解
Jan 31 Javascript
Node.js中package.json中库的版本号(~和^)
Apr 02 Javascript
vue组件命名和props命名代码详解
Sep 01 Javascript
js prototype深入理解及应用实例分析
Nov 25 Javascript
antd design table更改某行数据的样式操作
Oct 31 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危险函数(disable_functions)
2012/02/23 PHP
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
php fread读取文件注意事项
2016/09/24 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
PHP htmlspecialchars()函数用法与实例讲解
2019/03/08 PHP
phpinfo的知识点总结
2019/10/10 PHP
javascript 内存回收机制理解
2011/01/17 Javascript
js不能跳转到上一页面的问题解决方法
2013/03/01 Javascript
jquery遍历数组与筛选数组的方法
2013/11/05 Javascript
简单时间提示DEMO从0开始一直进行计时
2013/11/19 Javascript
Ionic实现仿通讯录点击滑动及$ionicscrolldelegate使用分析
2016/01/18 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
H5移动端适配 Flexible方案
2016/10/24 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
DropDownList实现可输入可选择(两种版本可选)
2016/12/07 Javascript
JavaScript数组push方法使用注意事项
2017/10/30 Javascript
Nginx 配置多站点vhost 的方法
2018/01/07 Javascript
微信小程序实现评论功能
2018/11/28 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
JS实现二维数组元素的排列组合运算简单示例
2019/01/28 Javascript
微信小程序tab切换可滑动切换导航栏跟随滚动实现代码
2019/09/04 Javascript
layui监听单元格编辑前后交互的例子
2019/09/16 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
微信小程序webSocket的使用方法
2020/02/20 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
使用Python处理Excel表格的简单方法
2018/06/07 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python3实现将一维数组按标准长度分隔为二维数组
2019/11/29 Python
英国最大的在线运动补充剂商店:Discount Supplements
2017/06/03 全球购物
运动会加油稿100字
2014/09/19 职场文书
无故旷工检讨书
2015/08/15 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
python Polars库的使用简介
2021/04/21 Python
python字符串常规操作大全
2021/05/02 Python