在一些搜索框中,我们往往需要监听键盘的按下(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中监听键盘事件及自定义键盘事件相关推荐

  1. Vue中监听键盘事件

    Vue中监听键盘事件 在一些搜索框中,我们往往需要监听键盘的按下(onkeydown)或抬起(onkeyup)事件以进行一些操作.在原生js或者jQuery中,我们需要判断e.keyCode的值来获取 ...

  2. 如何在ArcMap中监听键盘鼠标事件

    昨天有个朋友想要实现一个功能,就是在ArcMap中编辑数据的时候,能够通过快捷键自动设置预定义的属性,比如,选中若干要素,按A键,就自动填充属性,按B键,则又自动填充另外的属性字段. 单就这个功能而言 ...

  3. [vue] vue如何监听键盘事件?

    [vue] vue如何监听键盘事件? 那要看你怎么监听了, 比如 @keyup.enter, 或者直接全局监听 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家 ...

  4. Vue中失去焦点时所触发的事件

    Vue中失去焦点时所触发的事件 1-html.失去焦点 <input type="text" onBlur="txtblur()"> <scr ...

  5. swt 键盘事件ctrl+c_VB键盘事件详解

    "本节课程一起学习VB中的键盘事件."键盘事件的作用:获得键盘输入信息,只有获得焦点的对象才能接受键盘事件.键盘事件有三种:KeyPress.KeyDown.KeyUpKeyPre ...

  6. DOM事件里面的键盘事件

    在JS里面有很多很多的事件,我们以后将会接触到它们,而它们在我们的JS代码里面是必不可少的,而现在我要讲的就是DOM事件里面的键盘事件. 相信很多小伙伴都知道,平时有一些选项不用按确定按钮,直接一个回 ...

  7. vue 回车查询 按钮_vue之在页面中监听键盘的Enter键来触发某个按钮事件

    项目中得需求:给页面某个按钮绑定Enter键,但是按钮不在form中,直接给按钮绑定后此按钮只有获取了焦点按键才会触发,显然,一直保持按钮获取焦点是不现实得.所以通过查询等,结合项目需求,完成了下面得 ...

  8. 如何在Revit中监听键盘事件

    欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207 背景 小伙伴们在做revit二次开发的时候,可能会需要在自己做的插件运行时,去监听某个按键然后做出相应的 ...

  9. android 键盘弹出 监听,奇技淫巧之-Android监听键盘弹出与隐藏事件

    CaptainAndroid.png 相信看到这个标题,大家都会潜意识觉得:Activity中没有可以复写的方法么?或者说,没有什么listener可以让我们使用么? 抱歉,真的没有,我们潜意识都是以 ...

最新文章

  1. MOSS 2010:Visual Studio 2010开发体验(14)——列表开发之事件接收器
  2. Apache POI和EasyExcel 第二集:Apache POI的基本Excel写入(分为03版的xls和07版的xlsx)
  3. [新活动] 2015年推广返利活动
  4. python生成随机骨料模型代码_Abaqus Python脚本-3D随机球形骨料的生成
  5. 从零开始写项目第七篇【搭建Linux环境】
  6. 哈希存储 java_Java容器系列之HashMap的存储
  7. Linux Shell 之 我的第一个Shell程序
  8. flink 1.9.0 编译:flink-fs-hadoop-shaded 找不到
  9. python连接SQLServer数据库,执行给定的查询SQL语句,并返回查询结果数据
  10. [微信小程序开发] mpvue 微信小程序开发使用SASS写样式
  11. 二叉树遍历算法的应用——复制二叉树
  12. modscan32为主设备
  13. iPS细胞移植最新进展
  14. My97DateTimePicker使用说明
  15. blender动作_Blender实现小人行走
  16. 不是忽悠?国产16nm八核处理器来了
  17. 8188gu驱动和su realtek_Realtek瑞昱RTL8192SU/RTL8188SU/RTL8192GU无线网卡驱动怎么样
  18. javascript百炼成仙 第一章 掌握JavaScript基础1.6 叶老
  19. 万字带图教程带你从零开始安装CentOS
  20. Win11网络适配器错误代码(10)WLAN消失

热门文章

  1. MarkdownPad 2 Pro 注册码
  2. 【PHP】Maximum execution time of seconds exceeded
  3. Android关于调节系统字体大小引起的适配问题
  4. 空调风扇内机不转故障分析与检修
  5. 怎么让steam允许访问自己的计算机,科技教程:电脑steam软件如何解决好友网络无法访问...
  6. 【论文研读】基于BP 神经网络的 Q235 钢力学性能预测模型
  7. Poi 导出excel单个sheet的内容
  8. FCKEditor 使用
  9. 定积分求解(1)cos(bx)*e^(-x^2)在负无穷到正无穷的积分
  10. Silverlight vs Flash