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 相关文章推荐
jquery tools系列 expose 学习
Sep 06 Javascript
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
JS实现的二叉树算法完整实例
Apr 06 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
May 03 Javascript
详解使用vue实现tab 切换操作
Jul 03 Javascript
Vue按需加载的具体实现
Dec 02 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
Jan 05 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 Javascript
javascript中this的用法实践分析
Jul 29 Javascript
TypeScript魔法堂之枚举的超实用手册
Oct 29 Javascript
浅谈JS的原型和原型链
Jun 04 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
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
Laravel利用gulp如何构建前端资源详解
2018/06/03 PHP
jQuery使用手册之一
2007/03/24 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
javascript引导程序
2008/10/26 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
2014/04/17 Javascript
jQuery解析XML与传统JavaScript方法的差别实例分析
2015/03/05 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
jQuery插件EasyUI获取当前Tab中iframe窗体对象的方法
2016/08/05 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
EsLint入门学习教程
2017/02/17 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
详解用node.js实现简单的反向代理
2017/06/26 Javascript
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
微信小程序Getuserinfo解决方案图解
2018/08/24 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
[02:38]DOTA2超级联赛专访Loda 认为IG世界最强
2013/05/27 DOTA
使用Python编写vim插件的简单示例
2015/04/17 Python
python中的格式化输出用法总结
2016/07/28 Python
解决Pandas的DataFrame输出截断和省略的问题
2019/02/08 Python
python 实现一个反向单位矩阵示例
2019/11/29 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
上课迟到检讨书
2014/02/19 职场文书
《窗前的气球》教学反思
2014/04/07 职场文书
软件项目实施计划书
2014/05/02 职场文书
水电维修专业推荐信
2014/09/06 职场文书
公司新员工欢迎词
2015/09/30 职场文书
爱岗敬业事迹材料
2019/06/20 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
nginx配置指令之server_name的具体使用
2022/08/14 Servers