如何将单击事件附加到Angular 7+;中的插件添加到DOM的元素;?

如何将单击事件附加到Angular 7+;中的插件添加到DOM的元素;?,angular,events,onclicklistener,dom-events,vmware-clarity,Angular,Events,Onclicklistener,Dom Events,Vmware Clarity,我正在使用VMWareClarity模块向页面添加数据网格。作为datagrid的一部分,有一个按钮可以在网格上打开一个弹出窗口,选择要隐藏/显示的列。选择列后,可通过单击关闭按钮关闭弹出窗口 我需要在弹出窗口中的“关闭”按钮上附加一个操作,但我无法访问元素来单击它,因为只有单击“隐藏/显示列”按钮后,它才会在DOM中呈现。我已尝试在ngAfterViewInit、变更检测和@HostListener中添加elementRef.nativeElement.querySelector,但没有人能够

我正在使用VMWareClarity模块向页面添加数据网格。作为datagrid的一部分,有一个按钮可以在网格上打开一个弹出窗口,选择要隐藏/显示的列。选择列后,可通过单击关闭按钮关闭弹出窗口


我需要在弹出窗口中的“关闭”按钮上附加一个操作,但我无法访问元素来单击它,因为只有单击“隐藏/显示列”按钮后,它才会在DOM中呈现。我已尝试在
ngAfterViewInit
变更检测
@HostListener
中添加
elementRef.nativeElement.querySelector
,但没有人能够找到加载到DOM中的新弹出元素。

是否检查了目标元素的父节点?通常会在Body标记的最高DOM级别上创建一个弹出窗口(取决于您的UI框架)。否则,您仍然可以实现一个
Output()EventEmitter
,如下所示:

输出组件的示例代码:

@Output() change = new EventEmitter<number>();
@Output()change=neweventemitter();

在本例中,我能够在文档上使用HostListener,然后跟踪事件目标
nodeName
是否是我要查找的元素(因为每个元素都有一个
nodeName
):


元素确实会附加到
中。我只需要在这个弹出窗口的目标按钮。有问题的popup元素是由插件在
ngAfterViewInit
之后添加到DOM中的,以前没有在组件中引用过,因此我还无法将事件附加到关闭按钮以发出输出。我相信这是一个功能请求,我们不会将此事件公开给您听。您需要附加什么事件以及为什么要附加到此特定按钮?您好@JeremyWilken,我们的应用程序正在为用户持久化打开/关闭的网格列,以便用户可以加载应用程序及其选定的隐藏/显示列。我假设事件是
clr dg column toggle
popup close按钮事件。在这种情况下,将保存操作挂接到弹出窗口的关闭按钮是最有意义的,因为它是一个可操作的确认,确认弹出窗口更改已完成。
@HostListener('document:click', ['$event'])
onClick(event) {
    if (event.target.nodeName === 'CLR-ICON') {
      // Do something
    }
  }