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 相关文章推荐
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
Feb 07 Javascript
js获取class的所有元素
Mar 28 Javascript
ExtJS[Desktop]实现图标换行示例代码
Nov 17 Javascript
动态添加删除表格行的js实现代码
Feb 28 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
vue计算属性及使用详解
Apr 02 Javascript
Vue项目中添加锁屏功能实现思路
Jun 29 Javascript
老生常谈JS中的继承及实现代码
Jul 06 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
Jul 13 Javascript
通过layer实现可输入的模态框的例子
Sep 27 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概率算法实例
2014/04/09 PHP
php中的动态调用实例分析
2015/01/07 PHP
Yii配置与使用memcached缓存的方法
2016/07/13 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
Laravel框架中自定义模板指令总结
2017/12/17 PHP
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
setTimeout和setInterval的深入理解
2013/11/08 Javascript
JavaScript实现继承的4种方法总结
2014/10/16 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
教你使用javascript简单写一个页面模板引擎
2015/05/05 Javascript
TypeError document.getElementById(...) is null错误原因
2015/05/18 Javascript
JQUERY表单暂存功能插件分享
2016/02/23 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
react+ant design实现Table的增、删、改的示例代码
2018/12/27 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
Python中Iterator迭代器的使用杂谈
2016/06/20 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
python 如何在测试中使用 Mock
2021/03/01 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
华丽的手绘陶瓷:MacKenzie-Childs
2017/02/04 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
数据保密承诺书
2014/06/03 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
2015年乡镇统计工作总结
2015/04/22 职场文书
房屋维修申请报告
2015/05/18 职场文书
烈士陵园观后感
2015/06/08 职场文书
用golang如何替换某个文件中的字符串
2021/04/25 Golang
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL