vue keydown事件未在div上开火
正如标题所说,我无法让我的活动开火。
@keydown="keyPressed($event)"
这就是目前的外观,但是我已经尝试了Tabindex并在Mount上附加使用:
mounted(){
let container=document.querySelector('#course')
container.addEventListener('keydown',(e)=>{
console.log(e)
})
}
模板
<div id="course" tabindex="0" @keydown="keyPressed($event)">
<div class="snake"></div>
</div>
因此,没有什么可用。我在做什么错?
As the title says, I can't get my event to fire.
@keydown="keyPressed($event)"
This is how it looks currently,but I've tried it with tabIndex and appending in on mount like this :
mounted(){
let container=document.querySelector('#course')
container.addEventListener('keydown',(e)=>{
console.log(e)
})
}
Template
<div id="course" tabindex="0" @keydown="keyPressed($event)">
<div class="snake"></div>
</div>
Hence,nothing works. What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为,在Vue中,更好的做法是使用
ref
而不是QuerySelector
选择元素,尤其是在同一组件中可以引用的元素。另外,使用
@keydown
只需将键入
事件侦听器附加到元素,因此无需执行addeventListener
。Working example in vue
I think in vue, a better practice would be to select the element using
ref
instead of aquerySelector
especially if it can be referenced in the same component.Also using
@keydown
just attaches akeydown
event listener to the element, so there is no need to doaddEventListener
.Working example in vue