Skip to content

Commit 089ccc6

Browse files
committed
Added day 25 related html file
1 parent f9d851a commit 089ccc6

File tree

1 file changed

+64
-0
lines changed
  • Challenges/Day 25 - Event Capture, Propagation, Bubbling and Once

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<title>Understanding JavaScript's Capture</title>
6+
</head>
7+
<body class="bod">
8+
9+
<div class="one">
10+
<div class="two">
11+
<div class="three">
12+
</div>
13+
</div>
14+
</div>
15+
16+
<style>
17+
html {
18+
box-sizing: border-box;
19+
}
20+
*, *:before, *:after { box-sizing: inherit; }
21+
22+
div {
23+
width:100%;
24+
padding:100px;
25+
}
26+
27+
.one {
28+
background: thistle;
29+
}
30+
31+
.two {
32+
background:mistyrose;
33+
}
34+
35+
.three {
36+
background:coral;
37+
}
38+
</style>
39+
40+
<button></button>
41+
<script>
42+
const divs = document.querySelectorAll('div');
43+
const button = document.querySelector('button');
44+
45+
function logText(e) {
46+
console.log(this.classList.value);
47+
// e.stopPropagation(); // stop bubbling!
48+
// console.log(this);
49+
}
50+
51+
divs.forEach(div => div.addEventListener('click', logText, {
52+
capture: false,
53+
once: true
54+
}));
55+
56+
button.addEventListener('click', () => {
57+
console.log('Click!!!');
58+
}, {
59+
once: true
60+
});
61+
62+
</script>
63+
</body>
64+
</html>

0 commit comments

Comments
 (0)