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 trialJabor Al thani
2,926 PointsDOM
Im kind of confused with the Event.target , I need help atleast to see the complete code . That way I might get the hang of it .
<!DOCTYPE html>
<html>
<head>
<title>JavaScript and the DOM</title>
</head>
<link rel="stylesheet" href="style.css" />
<body>
<section>
<h1>Making a Webpage Interactive</h1>
<p>JavaScript is an exciting language that you can use to power web servers, create desktop programs, and even control robots. But JavaScript got its start in the browser way back in 1995.</p>
<hr>
<p>Things to Learn</p>
<ul>
<li>Item One: <input type="text"></li>
<li>Item Two: <input type="text"></li>
<li>Item Three: <input type="text"></li>
<li>Item Four: <input type="text"></li>
</ul>
<button>Save</button>
</section>
<script src="app.js"></script>
</body>
</html>
let section = document.getElementsByTagName('section')[0];
section.addEventListener('click', (e) => {
e.target.style.backgroundColor = 'rgb(255, 255, 0)';
});
1 Answer
Umesh Ravji
42,386 PointsHi Jabor, this is the code, but make sure you understand how it works.
let section = document.getElementsByTagName('section')[0];
section.addEventListener('click', (e) => {
if (e.target.tagName == 'INPUT') {
e.target.style.backgroundColor = 'rgb(255, 255, 0)';
}
});
The target property of the event object is a reference to the element that the event came from. In this challenge you want to make sure that the background color change only occurs when the input elements are clicked, at the start it changes the background color of any of the elements on the page.
The tagName property of the target can be used to find the tag name (as it implies) of the element on which the event occurred. In this case you are looking for the tag name 'INPUT', make sure this is in call caps. By adding the if conditional check, you can make sure it only runs when input elements are clicked, and not other elements. When other elements are clicked, the tagName property will not be 'INPUT' and you will see no change in background color.