私は@HostListener
だけimg
グラブではなく、バブルアップを行い<a>
タグに画像を追加するとき、私は、しかしリンク角2/4のHostListenerは右のイベントでクリックしませんか?
を取得するために<a>
要素にアタッチディレクティブmyPopUp
を持っています。
イメージが内部にあるときにタグリファレンスを取得するにはどうすればよいですか?
は、ここに私のplunkr https://plnkr.co/edit/80OGOKLSW3HjJfXjP7O2?p=preview(ビューコンソール)
とコードです:
@Component({
selector: 'my-app',
template: `
<a href="http://google.com" myPopUp>
<img src="http://via.placeholder.com/350x150"/>
</a>
<br/>
<a href="http://google.com" myPopUp>
This works fine, event is A tag
</a>
`,
})
export class App {
@Directive({ selector: '[myPopUp]' })
@HostListener('click', ['$event'])
onClick(event: MouseEvent) {
console.log(event.target);
}
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App ]
})
export class AppModule {}
ありがとうございました。これは、リンクにイメージがネストされている場合に機能しますが、奇妙なのはAngularが@HostLIstenerをバブリングしていないように見えるということです。それはちょうどまたはIMGをログに記録し、それは理論的にはあなたがDOMのtree'をアップログイン保つ '何を意味DOMツリー – mrsq
をログインしておく必要がありますか? hostListenerコールバック@mrsq –
は、クリックするだけで一度解雇されていますが、クリックイベントがバブルアップDOMツリーをhttps://plnkr.co/edit/tN3ojjy0Nh78k8kzQmX8?p=preview – LLai