vue 键盘事件监听
原文链接: vue 键盘事件监听
上一篇: 使用环形队列触发延时任务
下一篇: vue 一次失败的dom游戏制作
参考
https://cn.vuejs.org/v2/guide/events.html#事件修饰符
一般的按键事件是加载input上的
<input type="text" @keydown="keyUp($event)">
但是目前需要在div上监听,搞了好久没能实现
下面这种无法生效,加上各种事件修饰符也不会生效
<div class="main" @keyUp="keyUp" >
目前只能在body上添加监听器
document.body.onkeydown = this.keyDown
使用ref设置的键盘监听无法生效,但是点击事件可以监听到。。。
效果使用键盘控制飞机移动
<template><div class="main" ref="main"><img src="../assets/plane.svg" ref="plane" class="plane"></div>
</template><script>import Ball from '../util/Ball'import Bullet from '../util/Bullet'import Plane from '../util/Plane'export default {name: "game-card",data() {return {balls: [],bullets: [],plane: new Plane(),}},computed: {},methods: {keyUp(e) {console.log(e)},keyDown(e) {console.log(e.code)if (e.code == 'ArrowUp') {} else if (e.code == 'ArrowRight') {this.move(1)} else if (e.code == 'ArrowDown') {} else if (e.code == 'ArrowLeft') {this.move(3)}},move(direction) {if (direction == 1) {console.log('move right', this.$refs.plane.style.left)this.$refs.plane.style.left = (++this.plane.x) + 'px'console.log(this.$refs.plane.style.left);} else if (direction == 3) {console.log('move left')this.$refs.plane.style.left = (--this.plane.x) + 'px'}},},mounted() {document.body.onkeydown = this.keyDown}}
</script><style scoped>.main {width: 100vw;height: 100vh;position: relative;}.plane {position: absolute;left: 0;bottom: 0;}
</style>
vue 键盘事件监听相关推荐
- jquery实现上下左右键盘监听_基于 jQuery 实现键盘事件监听控件
最近项目里要做一个画板,需要对键盘事件进行监听,来进行诸如撤回.重做.移动.缩放等操作,因此顺手实现了一个键盘事件监听控件,期间略有收获,整理出来,希望对大家有所帮助,更希望能获得高手的指点. 1. ...
- Java Swing 键盘事件监听
Java Swing 键盘事件监听 开发工具与关键技术:java. elipse2019.jdk1.8 作者:Amewin 撰写时间:2019年9月16日 键盘事件的事件源一般丐组件相关,当一个组件处 ...
- JS:打字游戏_键盘事件监听
1. 打字游戏 屏幕随机出现字母或数字 用户按下键盘,屏幕显示回答正确与否 当用户按下ESC时游戏结束 <!DOCTYPE html> <html lang="en&quo ...
- 键盘事件监听_键盘事件
键盘事件监听 There are 3 types of events when interacting with keyboard events: 与键盘事件进行交互时,有3种类型的事件: keydo ...
- 安卓键盘事件监听,键盘弹出收起
一.键盘事件监听 1.在mainifest.xml 中设置activity模式 ```<activityandroid:name=".ui.activity.MainActivity& ...
- vue/xx/事件监听,按键与键码值
vue中的事件监听 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...
- vue中事件监听watch
vue中的watch实际上是用来监听vue实例中的数据变化. 监听String <template><div @click="stringClick">{{ ...
- html键盘事件监听,react怎样监听键盘事件
react监听键盘事件的方法:React中有监听键盘按下事件onKeyUp或者onKeyDown属性(以下用onKeyUp),值为自定义方法keyUp,即onKeyUp={this.keyUp}. 通 ...
- egret键盘事件监听
document.addEventListener("keydown", function (event: any) {//alert(event.key);//console.l ...
最新文章
- java应用menchac_java之JUC
- “XXXXX” is damaged and can’t be opened. You should move it to the Trash 解决方案
- 【Swift】自定义控件无限轮播 + 无限图片轮播
- LR(1)分析表-语法树-四元式
- ThinkJS前端搭配vue时的Nginx配置
- 3D中国跳棋 —— 记与子禾童鞋的结对编程(附网站地址及完整源码)
- 移动前端自适应解决方案和比较
- C++动态数组的创建
- Unity Transform bug
- v6使用手册 天正电气t20_天正电气T20手册
- paypal如何支付欧元_paypal欧元付款的问题
- 在线计算机表格制作,excel表格制作,教您excel怎么制作表格
- C 里 求 log2 N 的问题
- 用matlab进行频域分析,使用Matlab对信号进行频域分析的方法
- Mac常见问题:如何使用文件保险箱加密 Mac 上的启动磁盘!
- “互联网+“项目路演PPT制作学习笔记分享
- DirectX11:着色器
- 在 Flutter 中自定义画笔 Painter
- 从现在开始,请务必珍惜你手里的现金
- Imm Cleaning Solutions PCC54-W-1.2-Z喷嘴