File tree Expand file tree Collapse file tree 1 file changed +64
-0
lines changed
Challenges/Day 25 - Event Capture, Propagation, Bubbling and Once Expand file tree Collapse file tree 1 file changed +64
-0
lines changed Original file line number Diff line number Diff line change
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 >
You can’t perform that action at this time.
0 commit comments