尝试一下
@HostListener('document:keydown',['$event']) onKeydownHandler(event: KeyboardEvent) {
console.log('keys pressed');
}
,
您需要keyDown和click事件才能正确侦听上下文菜单事件。完整的代码可以在此StackBlitz Link
中找到
您的组件代码是..
contextmenu:boolean = false;
styleSelect: boolean = false;
clickMe(){
this.contextmenu = !this.contextmenu;
this.styleSelect === true ? this.styleSelect= false : '';
document.addEventListener('keydown',this.scroll,false );
}
scroll = (e): void => {
if (e.target.tagName === 'LI' ) {document.removeEventListener('mousedown',this.scroll); }
if (this.contextmenu === true) {
this.contextmenu = false;
this.styleSelect = true;
document.removeEventListener('keydown',this.scroll);
}
}
close(){
this.contextmenu = false;
}
本文链接:https://www.f2er.com/2955426.html