热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

vue键盘事件监听

1、在当前页截获键盘事件,所有按钮均被控制created(){this.keyDown();},beforeDestroy(){this.keyDownReview()},meth

1、在当前页截获键盘事件,所有按钮均被控制

created () {
this.keyDown();
},
beforeDestroy () {
this.keyDownReview()
},
methods: {
//按键恢复
keyDownReview () {
document.Onkeydown= function (event) {
var e = event || window.event;
e.returnValue
= true;
}
},
//按钮监听键盘
keyDown () {
//监听键盘按钮
document.Onkeydown= function (event) {
var e = event || window.event;
var keyCode = e.keyCode || e.which;
switch (keyCode) {
case 112://F1
alert('F1')
break;
case 113://F2
alert('F2')
break;
case 117://F6
alert('F6')
break;
case 119://F8
alert('F8')
break;
case 13://enter
alert('enter')
break;
default:
break;
}
if (e && e.preventDefault) {
e.preventDefault();
}
else {
window.event.returnValue
= false;
}
}
},
}

2、单一按钮通过单一键盘键控制,其他不受影响

<el-button type="primary" @click="refresh">刷新(F1)el-button>

created () {
this.keyDown()
},
beforeDestroy () {
this.keyDownReview()
},
methods: {
//按键恢复
keyDownReview () {
document.Onkeydown= function (event) {
var e = event || window.event;
e.returnValue
= true;
}
},
//键盘按钮截获
keyDown () {
document.onkeydown
= e => {
//112表示F1键
if (e.keyCode === 112) {
//F1键后执行刷新方法
this.refresh()
//取消原来的后续事件
e.preventDefault()
}
}
},
refresh () {
alert(
'refresh')
},
}

 

3、详细keyCode值列表

 

 

 

 

 



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文介绍如何通过注册表编辑器自定义和优化Windows文件右键菜单,包括删除不需要的菜单项、添加绿色版或非安装版软件以及将特定应用程序(如Sublime Text)添加到右键菜单中。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • Vue 循环渲染中如何正确绑定 key 属性
    本文探讨了在 Vue 的模板循环渲染中,如何正确绑定 key 属性以避免重复键值导致的控制台错误,并确保组件高效更新。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 火星商店问题:线段树分治与持久化Trie树的应用
    本题涉及编号为1至n的火星商店,每个商店有一个永久商品价值v。操作包括每天在指定商店增加一个新商品,以及查询某段时间内某些商店中所有商品(含永久商品)与给定密码值的最大异或结果。通过线段树分治和持久化Trie树来高效解决此问题。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 本文探讨了如何在发布 XenApp 应用时,通过命令行参数实现启动时的参数传递。特别介绍了静态和动态参数传递的方法,并详细解释了 ICA 文件中两种参数传递方式的区别及安全检查机制。 ... [详细]
  • MQTT技术周报:硬件连接与协议解析
    本周开发笔记重点介绍了在新项目中使用MQTT协议进行硬件连接的技术细节,涵盖其特性、原理及实现步骤。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
author-avatar
微软Kindle批发
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有