对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 相关文章推荐
JQuery 选择和过滤方法代码总结
Nov 19 Javascript
Jquery使用Firefox FireBug插件调试Ajax步骤讲解
Dec 02 Javascript
使用jquery修改表单的提交地址基本思路
Jun 04 Javascript
javascript删除数组重复元素的方法汇总
Jun 24 Javascript
javascript html5 canvas实现可拖动省份的中国地图
Mar 11 Javascript
轻松实现js弹框显示选项
Sep 13 Javascript
javascript 数组去重复(在线去重工具)
Dec 17 Javascript
详解Vue.js入门环境搭建
Mar 17 Javascript
JS字符串去除连续或全部重复字符的实例
Mar 08 Javascript
mpvue实现左侧导航与右侧内容的联动
Oct 21 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
Sep 21 Javascript
JS数组去重详情
Nov 07 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
PHP编码规范-php coding standard
2007/03/16 PHP
php一些公用函数的集合
2008/03/27 PHP
php 分页原理详解
2009/08/21 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
php输出形式实例整理
2020/05/05 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
jQuery ctrl+Enter shift+Enter实现代码
2010/02/07 Javascript
一个简单的js鼠标划过切换效果
2010/06/30 Javascript
Js 获取Gridview选中行的内容操作步骤
2013/02/05 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
js 时间格式与时间戳的相互转换示例代码
2013/12/25 Javascript
JS控制一个DIV层在指定时间内消失的方法
2014/02/17 Javascript
AngularJS基础知识
2014/12/21 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
简单谈谈python的反射机制
2016/06/28 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
pytorch标签转onehot形式实例
2020/01/02 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
Python扫描端口的实现
2021/01/25 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
招标授权委托书样本
2014/09/23 职场文书
房屋产权共有协议书范本
2014/11/03 职场文书
2014年化验室工作总结
2014/11/21 职场文书
党委工作总结2015
2015/04/27 职场文书
预备党员转正党小组意见
2015/06/01 职场文书
幼儿园毕业典礼园长致辞
2015/07/29 职场文书