Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

356
Views
How to get event.target as an object in Angular 2?

First, I'm sorry to my deficient english.

.

I want write code if click anywhere except .do-not-click-here, call myFunction().

So I wrote code like below.

document.addEventListener('click', (event) => {
  if(event.target.classList.includes('do-not-click-here')) {
    myFunction();
  }
)

But this code return error "Property 'classList' does not exist on type 'EventTarget'."

.

So I tried debugging through console.log.

.

When I tried console.log(event);

received event.target as a javascript object. (I want it)

.

When I tried console.log(event.target);

received event.target as an element(?). so event.target.classList is not working. (Maybe)

.

How to get event.target.classList?

or is there a better way than I thought for I wanted?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Other answers are good, this is just a more-angular-style alternative. You can create a global click listener in any of your components this way:

@HostListener('document:click', ['$event.target'])
onClick(element: HTMLElement) {
    if(element.classList.contains('do-not-click-here')) {
        myFunction();
    }
}
about 4 years ago · Santiago Trujillo Report

0

<button (click)="onClick($event)">click</button>

export class Component{


onClick(event){
   if(event.target.classList.contains('do-not-click-here')) {
    myFunction();
  }
}
}
about 4 years ago · Santiago Trujillo Report

0

document.addEventListener('click', (event) => {
  if(event.target.classList.contains('do-not-click-here')) {
    myFunction();
  }
)

use contains instead includes

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!