2017-09-01 27 views
1

@HostListener OnClickがFirefoxで動作しない 私はonClick、onclick、onGlobalClickを試しました。彼らはすべてクロムで動作しますが、Firefoxでは動作しません。ここ は私のコードです:@HostListener OnClickがFirefoxで動作しない

constructor(private elRef: ElementRef, private renderer: Renderer2) { } 

@Output() offClick = new EventEmitter(); 

@HostListener('document:click', ['$event.path']) 
public onGlobalClick(targetElementPath: Array<any>) { 
    const elementRefInPath = targetElementPath.find(e => e === this.elRef.nativeElement); 
    if (!elementRefInPath) { 
    this.offClick.emit(1); 
    } 
} 

ここ

+0

はあなただけ(クリック)を追加することはできません=「」ディレクティブどこか? – Carsten

+0

私はいくつかの要素を除いて "どこにでも"グローバルクリックしないでください。私はこの指示文を使用しています。なぜなら、特定の要素を押すと、外部をクリックして非表示にするときに要素を隠すためです。 –

+0

メソッドの名前は変更されません。それは解雇されるのですか?あなたはログインしましたか? – Vega

答えて

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); 
     } 
    } 
+0

それはうまく動作します、ありがとうございます:) –

関連する問題