Search code examples
angularaddeventlistenerevent-binding

How to bind event listener for rendered elements in Angular 2?


How can I bind an event listener in rendered elements in Angular 2?

I am using Dragula drag and drop library. It creates dynamic HTML but my event is not bound to dynamic HTML elements.


Solution

  • import { AfterViewInit, Component, ElementRef} from '@angular/core';
    
    constructor(private elementRef:ElementRef) {}
    
    ngAfterViewInit() {
      this.elementRef.nativeElement.querySelector('my-element')
                                    .addEventListener('click', this.onClick.bind(this));
    }
    
    onClick(event) {
      console.log(event);
    }