Javascript event.altKey未返回任何内容
如果按下Alt按钮,我正试图显示/隐藏一个div。我正在听按键,并使用Javascript event.altKey未返回任何内容,javascript,angular,Javascript,Angular,如果按下Alt按钮,我正试图显示/隐藏一个div。我正在听按键,并使用event.altKey确定是否按下了alt/option。但这不起作用。所以我记录了这件事 @HostListener( 'document:keypress', [ '$event' ]) handleKeyboardEvent( event: KeyboardEvent ) { console.log( event.altKey ); } 在上面的代码中,如果我按下任何数字、字母或符号,它将按预期打印“fals
event.altKey
确定是否按下了alt/option。但这不起作用。所以我记录了这件事
@HostListener( 'document:keypress', [ '$event' ])
handleKeyboardEvent( event: KeyboardEvent ) {
console.log( event.altKey );
}
在上面的代码中,如果我按下任何数字、字母或符号,它将按预期打印“false”。但当我按下Alt、Ctrl、Shift、Tab键时,什么也没发生。它不打印真假
我还试着打印钥匙密码。除了“Alt、Ctrl、Shift、Tab”之外,它可以打印所有内容
我在这里做错了什么?按键没有检测到某些键,alt必须是这些键之一。我会尝试使用另一个名为
onkeydown
的事件。它可以检测到更多的钥匙。以下是有关keydown事件的更多信息:Keypress未检测到某些键,alt必须是这些键之一。我会尝试使用另一个名为onkeydown
的事件。它可以检测到更多的钥匙。以下是有关按键按下事件的更多信息:您可以为alt
按键功能选择以下功能:
function isKeyPressed(event) {
if (event.altKey) {
console.log("The ALT key was pressed!");
} else {
console.log("The ALT key was NOT pressed!");
}
}
在html中使用
onkeydown=“isKeyPressed(event)”
作为标记您可以为alt
键函数使用以下函数:
function isKeyPressed(event) {
if (event.altKey) {
console.log("The ALT key was pressed!");
} else {
console.log("The ALT key was NOT pressed!");
}
}
在html中使用
onkeydown=“isKeyPressed(event)”
作为标记您可以在@组件
装饰器中尝试主机属性
@Component({
...
host: {
'(document:keypress)': 'handleKeyboardEvent($event)'
}
})
export class AppComponent {
handleKeyboardEvent(event: KeyboardEvent) {
console.log(event);
}
}
建议在主机属性上使用@HostListener装饰器
您可以在
@Component
装饰器中尝试主机属性
@Component({
...
host: {
'(document:keypress)': 'handleKeyboardEvent($event)'
}
})
export class AppComponent {
handleKeyboardEvent(event: KeyboardEvent) {
console.log(event);
}
}
建议在主机属性上使用@HostListener装饰器
keypress也会重复发射。keypress也会重复发射。您可以尝试event.which | | event.keyCode吗?您可以尝试event.which | | event.keyCode吗?