您需要 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;
}