【发布时间】:2021-03-07 00:11:48
【问题描述】:
我正在尝试在 Vue.js 的场景中创建角色移动。
我为左右按钮添加了键绑定:
created () {
window.addEventListener('keyup', this.keyup)
window.addEventListener('keydown', this.keydown)
}
方法如下:
keydown (e) {
if (e.keyCode === 37) this.onWalkLeftPressed()
if (e.keyCode === 39) this.onWalkRightPressed()
},
keyup (e) {
if (e.keyCode === 37) this.onWalkLeftReleased()
if (e.keyCode === 39) this.onWalkRightReleased()
}
当我将手指按在键盘上而不松开时,从逻辑上讲,它应该立即开始通过增加或减少“位置 X”值来移动到相应的方向。
但是一旦我按下按钮,它会触发第一个事件,然后等待大约 500 毫秒,然后继续触发其他事件,直到我松开按钮。
这是浏览器的某种默认行为吗?您知道如何覆盖它,以便在第一个事件和其他事件之间没有任何延迟地持续触发事件吗?
如下图:
【问题讨论】:
标签: javascript vue.js keydown