vue中el-input绑定键盘按键(按键修饰符)


Posted in Javascript onJuly 22, 2020

vue怎么写键盘事件

vue允许将按键值作为修饰符来使用,如监听回车事件,有两种写法,如下代码:

<input type="text" @keyup.13="console.log($event)"></input>
<input type="text" @keyup.enter="console.log($event)"></input>

但要注意的是:当我们在在el-input采用如上两种写法时,他是不生效的。el-input监听不到键盘事件,原因是element-ui是封装组件,所以el标签属于自定义标签,因此触发不了键盘事件。

解决办法:加上.native原生事件修饰符即可。.native:监听组件根元素的原生事件,主要作用是给自定义的组件添加原生事件。
vue与elementUI中给el-input绑定键盘按键代码如下:

<el-input placeholder="店铺名称" clearable v-model="queryObj.shopname" @keyup.enter.native="query">
 <template slot="prepend">店铺名称</template>
</el-input>

常用按键修饰符

别名修饰符 键值修饰符 对应按键
.delete .8/.46 回格/删除
.tab .9 制表
.enter .13 回车
.esc .27 退出
.space .32 空格
.left .37
.up .38
.right .39
.down .40

鼠标按键修饰符

别名修饰符 可用版本 对应按键
.left 2.2.0以上 左键
.right 2.2.0以上 右键
.middle 2.2.0以上 中键

系统按键修饰符

别名修饰符 可用版本 对应按键
.ctrl 2.1.0以上 Ctrl键
.alt 2.1.0以上 Alt键
.shift 2.1.0以上 Shift键
.meta 2.1.0以上 meta键(Windows系统上为田键)

关于组合修饰符的使用:

vue为我们提供了组合修饰符的机制,但是它的使用,必须配合系统按键修饰符才可以生效。如下是一段测试代码:

<!DOCTYPE html>
<html>
<head>
 <title></title>
</head>
<body>
<div id="app">
 <button @click.ctrl="ctrlClick" @click="together">带上ctrl来找我玩呀</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.min.js"></script>
<script type="text/javascript">
 let vm = new Vue({
 el: '#app',
 methods: {
  together(event) {
  if (!event.ctrlKey) {
   console.log('------------- 我是可爱的分割线呀 -------------')
   console.log('$event.ctrlKey:', event.ctrlKey)
  } else {
   console.log('欢迎呀!')
  }
  },
  ctrlClick(event) {
  console.log('------------- 我是可爱的分割线呀 -------------')
  console.log('$event.ctrlKey:', event.ctrlKey)
  console.log('Ctrl你来了呀!')
  }
 }
 })
</script>
</body>
</html>

到此这篇关于vue中el-input绑定键盘按键(按键修饰符)的文章就介绍到这了,更多相关el-input绑定键盘按键内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
PHP 与 js的通信(via ajax,json)
Nov 16 Javascript
基于Jquery的仿照flash放大图片效果代码
Mar 16 Javascript
namespace.js Javascript的命名空间库
Oct 11 Javascript
jquery动态添加删除div 具体实现
Jul 20 Javascript
js实现无限级树形导航列表效果代码
Sep 23 Javascript
在JavaScript中call()与apply()区别
Jan 22 Javascript
jQuery自适应轮播图插件Swiper用法示例
Aug 24 Javascript
JavaScript组合模式学习要点
Aug 26 Javascript
jQuery旋转插件jqueryrotate用法详解
Oct 13 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
JavaScript实现图片切换效果
Aug 12 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 #Javascript
js实现查询商品案例
Jul 22 #Javascript
vue element 关闭当前tab 跳转到上一路由操作
Jul 22 #Javascript
eslint+prettier统一代码风格的实现方法
Jul 22 #Javascript
解决vue-router 切换tab标签关闭时缓存问题
Jul 22 #Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 #Javascript
浅谈JS for循环中使用break和continue的区别
Jul 21 #Javascript
You might like
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
PHPCMS的使用小结
2010/09/20 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
表单项的name命名为submit、reset引起的问题
2007/12/22 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
JS 有名函数表达式全面解析
2010/03/19 Javascript
jQuery Validation插件remote验证方式的Bug解决
2010/07/01 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
详解webpack打包vue时提取css
2017/05/26 Javascript
使用requirejs模块化开发多页面一个入口js的使用方式
2017/06/14 Javascript
angular学习之从零搭建一个angular4.0项目
2017/07/10 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
Angularjs实现上传图片预览功能
2017/09/01 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
[01:01:31]2018DOTA2亚洲邀请赛3月29日小组赛B组 Mineski VS paiN
2018/03/30 DOTA
python解析xml文件实例分析
2015/05/27 Python
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
Python实现的视频播放器功能完整示例
2018/02/01 Python
如何在django中添加日志功能
2020/02/06 Python
关于python 跨域处理方式详解
2020/03/28 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
纯css3实现照片墙效果
2014/12/26 HTML / CSS
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
幼儿师范毕业生自荐信
2013/11/09 职场文书
迎元旦广播稿
2014/02/22 职场文书
小学校园之星事迹材料
2014/05/16 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
小组口号霸气押韵
2015/12/24 职场文书
入党转正申请书范文
2019/05/20 职场文书
解析高可用Redis服务架构分析与搭建方案
2021/06/20 Redis