实现ctrl、shift、alt单独键盘事件,并且与组合键不冲突
keydown(){
if (event.ctrlKey && !event.shiftKey && !event.altKey) {
//do something
}
if (event.altKey && !event.shiftKey && !event.ctrlKey) {
//do something
}
if (event.shiftKey && !event.ctrlKey && !event.altKey) {
//do something
}
if (
(!event.shiftKey && event.ctrlKey && event.altKey) ||
(event.shiftKey && event.ctrlKey && !event.altKey) ||
(event.shiftKey && !event.ctrlKey && event.altKey) ||
(event.shiftKey && event.ctrlKey && event.altKey)
){
return;
}
},
<a-input-search
@keydown.16="quickSearch($event)"
@keydown.17="quickSearch($event)"
@keydown.18="quickSearch($event)"
@keyup.16="quickSearchCancel($event)"
@keyup.17="quickSearchCancel($event)"
@keyup.18="quickSearchCancel($event)"
/>
上述代码可实现单独ctrl alt shift的keydown事件,并且不冲突。
修饰键和 keyup 事件一起用时,事件引发时必须按下正常的按键。换一种说法:如果要引发 keyup.ctrl,必须按下 ctrl 时释放其他的按键;单单释放 ctrl 不会引发事件。