@HostListener OnClick for outside click在firefox中不起作用

@HostListener OnClick在firefox中不起作用。 我试过onClick,onclick和onGlobalClick。 他们都使用chrome,但在firefox中没有人。 这是我的代码:

constructor(private elRef: ElementRef, private renderer: Renderer2) { } @Output() offClick = new EventEmitter(); @HostListener('document:click', ['$event.path']) public onGlobalClick(targetElementPath: Array) { const elementRefInPath = targetElementPath.find(e => e === this.elRef.nativeElement); if (!elementRefInPath) { this.offClick.emit(1); } } 

这是我在所有浏览器中测试过的,它的工作原理如下:

  @HostListener('document:click', ['$event', '$event.target']) onClick(event: MouseEvent, targetElement: HTMLElement): void { if (!targetElement) { return; } const clickedInside = this.elementRef.nativeElement.contains(targetElement); if (!clickedInside) { this.clickOutside.emit(event); } }