Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Mustafa-Omran/c3bf218ade5c175ec37fb8d913279255 to your computer and use it in GitHub Desktop.
Save Mustafa-Omran/c3bf218ade5c175ec37fb8d913279255 to your computer and use it in GitHub Desktop.
Angular - Custom directive when clicking outside specific element
@Directive({
selector: '[clickOutsideElement]'
})
export class ClickOutsideDirective {
@Output() clickOutside = new EventEmitter<void>();
constructor(private elementRef: ElementRef) { }
@HostListener('document:click', ['$event.target'])
onClickOutsideElement(target) {
const clickedInside = this.elementRef.nativeElement.contains(target);
if (!clickedInside) {
this.clickOutside.emit();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment