Bubbling and Cascading
by isogunro
HTML
<div id="outer">
<div id="middle">
<div id="inner">
</div>
</div>
</div>
<ol id="eventOrder"></ol>
<button type="button" id="clearButton">Clear</button>
CSS
#outer {
width: 200px;
height: 200px;
background-color:red;
}
#middle {
width: 50%;
height: 50%;
position:relative;
top: 25%;
left: 25%;
background-color: green;
}
#inner {
width: 50%;
height: 50%;
position:relative;
top: 25%;
left: 25%;
background-color: blue;
}
JavaScript
document.getElementById("outer").addEventListener("click", outerDivClick, true);
document.getElementById("middle").addEventListener("click", middleDivClick, true);
document.getElementById("inner").addEventListener("click", innerDivClick, true);
document.getElementById("clearButton").addEventListener("click", clearList);
function outerDivClick() {
appendText("Outer Div Clicked");
}
function innerDivClick() {
appendText("Inner Div Clicked");
}
function appendText(s) {
var li = document.createElement("li");
li.innerText = s;
document.getElementById("eventOrder").appendChild(li);
}
function clearList() {
var ol= document.createElement("ol");
ol.id = "eventOrder";
document.getElementById("bod").replaceChild(ol, document.getElementById("eventOrder"));
}
function middleDivClick() {
appendText("middle Div Clicked");
}