Event Bubbling
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Event Bubbling</title>
<link rel="stylesheet" href="EventBubbling.css">
</head>
<body>
<div>
<ul>
<li>one</li>
<li>two</li>
<li>three</li>
</ul>
</div>
<script src="EventBubbling.js"></script>
</body>
</html>
CSS
div{
height: 400px;
width: 500px;
background-color: pink;
}
ul{
background-color: blue;
}
li{
background-color: greenyellow;
}
JS
let div = document.querySelector("div");
let ul = document.querySelector("ul");
let lis = document.querySelectorAll("li");
div.addEventListener("click", function () {
console.log("div clicked");
});
ul.addEventListener("click", function () {
console.log("ul clicked");
});
for (li of lis) {
li.addEventListener("click", function () {
console.log("list clicked");
});
}
AFTER StopPropogation
let div = document.querySelector("div");
let ul = document.querySelector("ul");
let lis = document.querySelectorAll("li");
div.addEventListener("click", function (event) {
event.stopPropagation();
console.log("div clicked");
});
ul.addEventListener("click", function (event) {
event.stopPropagation();
console.log("ul clicked");
});
for (li of lis) {
li.addEventListener("click", function (event) {
event.stopPropagation();
console.log("list clicked");
});
}


Comments
Post a Comment