为什么在Vue.js@keydown.alt上可以工作,但@keyup.alt不能';T
我有一个变量,我希望在按下alt键时将其设置为1,在不按下alt键时将其设置为0,但结果是Vue只执行@keydown.alt 我试着用enter键,它工作得很好,在两种状态之间切换,但我不明白为什么用alt键不行为什么在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
@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
。这是正确的顺序,首先是键代码,然后是事件修饰符