Vue中监听键盘事件及自定义键盘事件
在一些搜索框中,我们往往需要监听键盘的按下(onkeydown)
或抬起(onkeyup)
事件以进行一些操作。在原生js
或者jQuery
中,我们需要判断e.keyCode
的值来获取用户所按的键。这样就存在一个问题:我们必须知道某个按键的keyCode
值才能完成匹配,使用起来十分不便。
方案:
在Vue
中,已经为常用的按键设置了别名,这样我们就无需再去匹配keyCode
,直接使用别名就能监听按键的事件。
<input @keyup.enter="function">
另外,Vue
中还支持组合写法:
注意
但是,如果是在自己封装的组件或者是使用一些第三方的UI
库时,会发现并不起效果,这时就需要用到.native
修饰符了,如:
<el-inputv-model="inputName"placeholder="搜索你的文件"@keyup.enter.native="searchFile(params)">
</el-input>
如果遇到.native
修饰符也无效的情况,可能就需要用到$listeners
了,具体用法请参考Vue
官方文档:将原生事件绑定到组件。
另外:
//自定义键盘事件Vue.directive('on').keyCodes.ctrl=17;
例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>键盘事件</title><script src="js/vue.js"></script><script>//自定义键盘事件Vue.directive('on').keyCodes.ctrl=17; window.onload=function(){var vm=new Vue({el:'#wrap',data:{ },methods:{ show:function(e){// console.log(111);// console.log(e.keyCode); //按钮的code值,ASCII码//判断是否按下回车/*if(e.keyCode==13){console.log('您按下回车');}*/console.log(111);} }});};</script>
</head>
<body><div id="wrap"> <!-- 用户名:<input type="text" @keydown="show($event)"> --><!-- 简化按键的判断 --><!-- 用户名:<input type="text" @keydown.13="show($event)"> --><!-- 用户名:<input type="text" @keydown.enter="show($event)"> --><!-- 用户名:<input type="text" @keydown.delete="show($event)"> --><!-- 用户名:<input type="text" @keydown.x="show($event)"> -->用户名:<input type="text" @keydown.ctrl="show($event)"></div>
</body>
</html>
Vue中监听键盘事件及自定义键盘事件相关推荐
- Vue中监听键盘事件
Vue中监听键盘事件 在一些搜索框中,我们往往需要监听键盘的按下(onkeydown)或抬起(onkeyup)事件以进行一些操作.在原生js或者jQuery中,我们需要判断e.keyCode的值来获取 ...
- 如何在ArcMap中监听键盘鼠标事件
昨天有个朋友想要实现一个功能,就是在ArcMap中编辑数据的时候,能够通过快捷键自动设置预定义的属性,比如,选中若干要素,按A键,就自动填充属性,按B键,则又自动填充另外的属性字段. 单就这个功能而言 ...
- [vue] vue如何监听键盘事件?
[vue] vue如何监听键盘事件? 那要看你怎么监听了, 比如 @keyup.enter, 或者直接全局监听 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家 ...
- Vue中失去焦点时所触发的事件
Vue中失去焦点时所触发的事件 1-html.失去焦点 <input type="text" onBlur="txtblur()"> <scr ...
- swt 键盘事件ctrl+c_VB键盘事件详解
"本节课程一起学习VB中的键盘事件."键盘事件的作用:获得键盘输入信息,只有获得焦点的对象才能接受键盘事件.键盘事件有三种:KeyPress.KeyDown.KeyUpKeyPre ...
- DOM事件里面的键盘事件
在JS里面有很多很多的事件,我们以后将会接触到它们,而它们在我们的JS代码里面是必不可少的,而现在我要讲的就是DOM事件里面的键盘事件. 相信很多小伙伴都知道,平时有一些选项不用按确定按钮,直接一个回 ...
- vue 回车查询 按钮_vue之在页面中监听键盘的Enter键来触发某个按钮事件
项目中得需求:给页面某个按钮绑定Enter键,但是按钮不在form中,直接给按钮绑定后此按钮只有获取了焦点按键才会触发,显然,一直保持按钮获取焦点是不现实得.所以通过查询等,结合项目需求,完成了下面得 ...
- 如何在Revit中监听键盘事件
欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 背景 小伙伴们在做revit二次开发的时候,可能会需要在自己做的插件运行时,去监听某个按键然后做出相应的 ...
- android 键盘弹出 监听,奇技淫巧之-Android监听键盘弹出与隐藏事件
CaptainAndroid.png 相信看到这个标题,大家都会潜意识觉得:Activity中没有可以复写的方法么?或者说,没有什么listener可以让我们使用么? 抱歉,真的没有,我们潜意识都是以 ...
最新文章
- MOSS 2010:Visual Studio 2010开发体验(14)——列表开发之事件接收器
- Apache POI和EasyExcel 第二集:Apache POI的基本Excel写入(分为03版的xls和07版的xlsx)
- [新活动] 2015年推广返利活动
- python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
- 从零开始写项目第七篇【搭建Linux环境】
- 哈希存储 java_Java容器系列之HashMap的存储
- Linux Shell 之 我的第一个Shell程序
- flink 1.9.0 编译:flink-fs-hadoop-shaded 找不到
- python连接SQLServer数据库,执行给定的查询SQL语句,并返回查询结果数据
- [微信小程序开发] mpvue 微信小程序开发使用SASS写样式
- 二叉树遍历算法的应用——复制二叉树
- modscan32为主设备
- iPS细胞移植最新进展
- My97DateTimePicker使用说明
- blender动作_Blender实现小人行走
- 不是忽悠?国产16nm八核处理器来了
- 8188gu驱动和su realtek_Realtek瑞昱RTL8192SU/RTL8188SU/RTL8192GU无线网卡驱动怎么样
- javascript百炼成仙 第一章 掌握JavaScript基础1.6 叶老
- 万字带图教程带你从零开始安装CentOS
- Win11网络适配器错误代码(10)WLAN消失
热门文章
- MarkdownPad 2 Pro 注册码
- 【PHP】Maximum execution time of seconds exceeded
- Android关于调节系统字体大小引起的适配问题
- 空调风扇内机不转故障分析与检修
- 怎么让steam允许访问自己的计算机,科技教程:电脑steam软件如何解决好友网络无法访问...
- 【论文研读】基于BP 神经网络的 Q235 钢力学性能预测模型
- Poi 导出excel单个sheet的内容
- FCKEditor 使用
- 定积分求解(1)cos(bx)*e^(-x^2)在负无穷到正无穷的积分
- Silverlight vs Flash