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 相关文章推荐
Mootools 1.2教程(21)——类(二)
Sep 15 Javascript
检测jQuery.js是否已加载的判断代码
May 20 Javascript
用原生JS获取CLASS对象(很简单实用)
Oct 15 Javascript
javascript简易画板开发
Apr 12 Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
微信小程序引用iconfont图标的方法
Oct 22 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
May 08 Javascript
elementui之el-tebs浏览器卡死的问题和使用报错未注册问题
Jul 06 Javascript
JS实现的tab切换并显示相应内容模块功能示例
Aug 03 Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 Javascript
基于postman获取动态数据过程详解
Sep 08 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执行批量mysql语句的解决方法
2013/05/02 PHP
php动态函数调用方法
2015/05/21 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
JavaScript 面向对象编程(2) 定义类
2010/05/18 Javascript
载入jQuery库的最佳方法详细说明及实现代码
2012/12/28 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
2014/12/29 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
纯js和css完成贪吃蛇小游戏demo
2016/09/01 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
2019/06/13 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
在Django框架中伪造捕捉到的URLconf值的方法
2015/07/18 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
python读写LMDB文件的方法
2018/07/02 Python
python解析含有重复key的json方法
2019/01/22 Python
python itchat实现调用微信接口的第三方模块方法
2019/06/11 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
ubuntu上安装python的实例方法
2019/09/30 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
购房协议书范本
2014/04/11 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
公务员考察材料范文
2014/12/23 职场文书
大学军训决心书
2015/02/05 职场文书
2015年保管员工作总结
2015/04/30 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL