监听键盘按下和弹起事件

2024-03-21 16:04

本文主要是介绍监听键盘按下和弹起事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

<div class="center-container" id="ed-editor-container" tabindex="0"></div>

 

tabindex="0" 让div可获得聚焦

// 编辑器区域键盘事件监听

      this.edEditorContainer = document.getElementById('ed-editor-container')

      this.edEditorContainer.removeEventListener('keyup', this.handleKeyUpEvent)

      this.edEditorContainer.addEventListener('keyup', this.handleKeyUpEvent)

 

// 可按需手动聚焦

//  this.edEditorContainer.focus()

// 监听键盘事件

      handleKeyUpEvent(e) {

        // console.log(e)

        if (e.key === 'Delete' || e.key === 'Backspace') {

          // console.log('移除')

        } else if (e.key === 'c' && e.ctrlKey) {

          // console.log('复制')

        } else if (e.key === 'v' && e.ctrlKey) {

          // console.log('粘贴')

        } else if (e.key === 'z' && e.ctrlKey) {

          // console.log('撤销')

        } else if (e.key === 'y' && e.ctrlKey) {

          // console.log('恢复')

        }

      }

 

 

// 对于mac系统的键盘监听,特别是需要监听Command+Key 的组合键,由于按住Command键后无法监听到别的键弹起事件,因此监听键盘按下事件,但需注意的时,长按会持续触发按下事件,如长按Command+v就会持续触发粘贴事件

this.isMacSystem = navigator.userAgentData.platform.indexOf('mac') > -1

 

this.edEditorContainer.removeEventListener('keydown', this.handleKeyDownEvent)

this.edEditorContainer.addEventListener('keydown', this.handleKeyDownEvent)

 

 

handleKeyDownEvent(e) {

// console.log(e)

     if (e.key === 'Delete' || e.key === 'Backspace') {

                 // console.log('移除')

     } else if (e.key === 'c' && e.metaKey) {

      // console.log('复制')

} else if (e.key === 'v' && e.metaKey) {

          // console.log('粘贴')

} else if (e.key === 'z' && e.metaKey) {

     // console.log('撤销')

     } else if (e.key === 'y' && e.metaKey) {

          // console.log('恢复')

     }

}

体验参考:简单设计EasyDesign-免费在线设计工具图片处理工具简单设计是一款专业强大的在线设计工具,图片处理工具,包含海报设计、封面图片设计,LOGO设计、图片压缩、图片裁剪、图片格式转换等功能,是一款良心好用的设计神器。icon-default.png?t=N7T8https://jiandan.link/app/poster?index=0&com=auto

这篇关于监听键盘按下和弹起事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833127

相关文章

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

基于Java实现回调监听工具类

《基于Java实现回调监听工具类》这篇文章主要为大家详细介绍了如何基于Java实现一个回调监听工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录监听接口类 Listenable实际用法打印结果首先,会用到 函数式接口 Consumer, 通过这个可以解耦回调方法,下面先写一个

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

SpringBoot整合Canal+RabbitMQ监听数据变更详解

《SpringBoot整合Canal+RabbitMQ监听数据变更详解》在现代分布式系统中,实时获取数据库的变更信息是一个常见的需求,本文将介绍SpringBoot如何通过整合Canal和Rabbit... 目录需求步骤环境搭建整合SpringBoot与Canal实现客户端Canal整合RabbitMQSp

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new