addEventListerner行为角度7不一致

用户3250

我正在使用innerHTML绑定来创建动态a代码,如以下代码所示:

<span *ngIf="msg" [innerHTML]="msg | sanitizeHtml"></span>

在.ts中,我尝试使用addEventListerner以下命令添加click事件

ngAfterViewInit() {
 this.elements = this.elem.nativeElement.querySelectorAll('.tradebtn');
  if (this.elements && this.elements.length > 0) {
    this.elements.forEach((f) => {
      console.log(f)
      f.addEventListener('click', (event) => {
        console.log(event)
      });
    });
   }
}

我得到elements元素列表来添加事件监听器。Click事件侦听器有时可以运行,但在大多数情况下不起作用。

我对这种行为感到困惑。我也尝试附上代码,setTimeout()但没有运气。

阮阮

您应该使用它@HostListener来处理事件。

添加条件event.target.matches('.tradebtn')以检查元素源。

@HostListener('document:click', ['$event'])
   onclick(event) {
   if(event.target.matches('.tradebtn')) {
        console.log(event)
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章