为什么在Vue.js@keydown.alt上可以工作,但@keyup.alt不能';T

为什么在Vue.js@keydown.alt上可以工作,但@keyup.alt不能';T,vue.js,keyup,Vue.js,Keyup,我有一个变量,我希望在按下alt键时将其设置为1,在不按下alt键时将其设置为0,但结果是Vue只执行@keydown.alt 我试着用enter键,它工作得很好,在两种状态之间切换,但我不明白为什么用alt键不行 @keydown.alt="scheda++" @keyup.alt="scheda--" 从Vuejs: 请注意,修改器键与常规键不同,当与keyup事件一起使用时,必须在发出事件时按下修改器键。换句话说,只有在按住ctrl键的同时释放一个键时,才会触发keyup

我有一个变量,我希望在按下alt键时将其设置为1,在不按下alt键时将其设置为0,但结果是Vue只执行@keydown.alt

我试着用enter键,它工作得很好,在两种状态之间切换,但我不明白为什么用alt键不行

    @keydown.alt="scheda++"
    @keyup.alt="scheda--"
从Vuejs:

请注意,修改器键与常规键不同,当与keyup事件一起使用时,必须在发出事件时按下修改器键。换句话说,只有在按住ctrl键的同时释放一个键时,才会触发keyup.ctrl。如果您单独释放ctrl键,它将不会触发。如果您确实想要这种行为,请使用ctrl的键代码:keyup.17

但是对于Alt,如果您使用的是Windows,那么还有一个问题。 在Windows系统上,窗口将按下Alt键解释为想要打开窗口的菜单,并且不再触发
键。我们希望阻止默认行为,我们可以使用
事件.preventDefault()
,或者在Vue world中使用
.prevent
,来实现这一点

newvue({
el:“#应用程序”,
数据:{
柜台:0
},
方法:{
增量:函数(){
console.log('inc')
这个计数器+=1;
},
减量:函数(){
console.log('dec')
这个计数器-=1;
}
}
})

{{counter}


谢谢@Jorj!这成功了!我做了一些小事情:
.prevent
@keydown.prevent.alt=“increment()”
中禁用输入,我无法再写入它;为我删除它可以解决问题,并且所有功能都正常工作,但是我在Mac上,它在Windows上也能工作吗?我用
@keydown.provent.alt
更改了
@keydown.18.provent
。这是正确的顺序,首先是键代码,然后是事件修饰符