公司项目(vue+element)有个需求,是在一个input输入内容后按下Enter键进行搜索查询,查询到得数据显示在表格,勾选表格的选中的数据进行提交(提交按钮的快捷键是Ctrl+Enter键盘),功能很常见,下面说的主要是绑定这些键盘事件和遇到的一个问题

效果如图:

在输入框中绑定键盘事件vue官网提供了键盘修饰符很方便
代码如下:

// An highlighted block
<el-input  ref="enter" clearable @keyup.enter.native="listQuery(searchForm.fphm)" v-model="searchForm.fphm" placeholder="输入发票号码后四位,按Enter键搜索"></el-input>

在按钮上绑定键盘事件你会发现要先点击一下按钮,才能触发键盘事件,这样肯定是不满足我们需求的,所以就把事件绑定到了document上:

// A code block
<el-button type="primary"  @click="handleEntry(selection)">入账</el-button>
// An highlighted blockkeyCodeForEvent() {let self = thislet code = 0let code2 = 0document.onkeydown = function(e) {let evn = e || eventlet key = evn.keyCode || evn.which || evn.charCodeif (key === 17) {self.$refs.enter.blur() // 避免enter和ctrl+enter事件同时触发code = 1}if (key === 13) {code2 = 1}if (code === 1 && code2 === 1) {self.handleEntry(self.selection) // 这个方法就是按下ctrl+enter触发的方法code = 0code2 = 0}}},

在测试的过程中发现当把焦点聚焦到input框中,键盘按下ctrl+enter会同时触发我页面中的input框中的listQuery和handleEntry两个方法,为了解决这个问题就有了上面self.$refs.enter.blur(),按下ctrl键就让页面中input框失去焦点

在补充一个监听键盘事件:

// An highlighted block
document.addEventListener('keydown',function(e){if(e.keyCode=='13'){console.log('你按下了回车键!')}})

vue绑定键盘事件 ctrl+enter触发事件相关推荐

  1. Cesium 事件详解(鼠标事件、相机事件、键盘事件、场景触发事件)

    Cesium 事件详解(鼠标事件.相机事件.键盘事件.场景触发事件) 1 Cesium中的事件 根据使用情况,我把Cesium中的事件大体分为三种,即屏幕空间事件处理程序,屏幕空间相机控制器,场景触发 ...

  2. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

    键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,documen ...

  3. vue中解决用户双击鼠标触发事件

    1.可能在业务中会碰见这样的事情  就是用户双击 可以触发事件 单击也可以触发事件  问题是俩次要触发不同的事件 其实双击和单击的却别就是 双击是俩次 时间间隔特别小的 点击 组成的  这样我们可以通 ...

  4. html 自动触发 事件,js自动触发事件自定义事件

    在有些情况下,我们需要程序逻辑自动触发元素的事件,例如js提供了click(), form提供了reset(),submit()等方法!在jquery中提供了trigger()方法帮助我们自动触发事件 ...

  5. jQuery事件3——trigger触发事件

    作用:触发事件,可传参数为事件类型(包括自定义事件)和传递给事件处理程序的额外数组参数 [例1]传事件类型 <!DOCTYPE html> <html lang="en&q ...

  6. vue绑定键盘事件无效问题,vue绑定键盘delete事件示例,组合键绑定

    项目有个需求,点击某个组件,按delete健后删除,于是乎第一就是想到了键盘事件 @keyup.delete='deleteKeyup(e)' 可是按delete键试了半天都没反应,加了.native ...

  7. input绑定手机虚拟键盘的回车按钮触发事件

    $("#keyword").on('keypress', function(e) { //#keyword为input文本框var keycode = e.keyCode;var ...

  8. 给键盘上的enter设置事件_Selenium3 + Python3自动化测试系列——鼠标事件和键盘事件...

    欢迎各位小哥哥小姐姐阅读本的文章,对大家学习有帮助,请点赞加关注哦!!!!!!!!!! 您的点赞和关注将是我持续更新的动力呢.^v^ 有不懂的问题可以私聊我哦! 一.鼠标事件 在 WebDriver ...

  9. vue点击元素自身之外触发事件指令

    1注册指令 Vue.directive('clickoutside', {bind(el, binding) {function handler(e) {if (el.contains(e.targe ...

最新文章

  1. IDentif.AI | 开发AI平台以快速确定包括COVID-19在内感染的治疗方案
  2. java中的Cookie是什么_第74节:Java中的Cookie和Session
  3. 用C#写的一个注册表操作类
  4. 第9章例题 7-2 学生成绩排序
  5. 笔记-JavaWeb学习之旅2
  6. python来进行图的深度遍历和广度遍历
  7. C#参考 : 枚举类型
  8. c++ 项目_罗纳尔多相信C罗从事技巧类项目,其成就不会亚于他在足坛的成绩
  9. CSS position属性---absolute与relative
  10. 实验报告(3)-语法分析
  11. 解决虚拟机内服务器卡顿,不流畅问题
  12. sca60c使用程序_第3部分:SCA应用程序的工作负载平衡的WebSphere MQ客户端连接
  13. 高清优质PPT模板20篇下载(金融投资系列)
  14. 计算机软件公司用ps是,[计算机软件及应用]ps婚纱.doc
  15. “爆炸图!“ArcGIS中制作一张好看的爆炸分析图(附练习数据)
  16. 酷柚易汛进销存开发进度一览表以及各版本之间区别!
  17. 苏大计算机考研 操作系统常见易错知识点整理
  18. word2013和wps使合并后的内容上下对齐
  19. 计算机相关书籍推荐(持续更新)
  20. 在网站上更改鼠标样式

热门文章

  1. 1_傅立叶笔记:基础知识
  2. Android studio 40 播放网络歌曲
  3. Spring Framework 基础入门
  4. storm 原理详解
  5. 图灵机器人 linux,群晖Docker下通过VNC打开Linux环境下的windows程序,Q酷图灵机器人...
  6. 量化交易策略建模综述
  7. 第一.Introduction to 3D Game Programming with DirectX 11介绍一
  8. mac下使用iTunes备份到U盘
  9. 帮小白解决问题---帮你快速明白XSD是什么?用在什么地方?为什么要XSD?没有XSD可以吗?有影响吗?
  10. Mybatis-plus条件查询构造器