Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript Building a Search Feature

What is the difference between e.target vs e.currentTarget and when should you use one over the other?

I noticed in this tutorial, console logging both e.target.value and e.currentTarget.value provided the same value. What is the difference between the two and when should you use one over the other? Thanks in advance!

1 Answer

Steven Parker
Steven Parker
229,732 Points

In simple handlers, these will always be the same.

The difference becomes apparent when you create delegated handlers. The value of e.target represents the element which caused the event, where e.currentTarget represents the element that the listener is attached to. Event propagation ("bubbling") is responsible for the difference.

The one to use will depend on what you want to accomplish. But most commonly, e.target will be the one you want.