Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

JavaScript Interacting with the DOM Responding to Events Listening for Events with addEventListener()

S C
S C
4,858 Points

Why is "event" passed into the anonymous function for the copy event example?

Around 3:20, for the example showing the event listener on the copy event, why does he pass "event" into the anonymous function here, but not in the other examples?

// Example 1

document.addEventListener('copy', (event) => { alert('Please be sure to credit the author.') });

// Example 2

listItem.addEventListener('mouseover', () => { listItem.textContent = listItem.textContent.toUpperCase(); });

1 Answer

Steven Parker
Steven Parker
217,627 Points

The system always passes the event object to the handler when calling it, but defining a parameter for it is optional if your handler code doesn't use it.

Neither of the examples shown here need it, so it doesn't matter if the parameter is defined or not. My personal "good practice" preference is to always define it, but name the parameter "unused" when it isn't needed in the handler code.

document.addEventListener('click', (unused) => { alert("The event object wasn't needed.") });
S C
S C
4,858 Points

Perfect—Thank you!