冒泡:
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>5.10.html</title>
<link rel="stylesheet" href="css/5.10.css">
</head>
<body>
<div id="nav1">nav1
<div id="nav2">nav2
<div id="nav3">nav3</div>
</div>
</div>
<script type="text/javascript" src="js/5.10.js"></script>
</body>
</html>
CSS:
#nav1 {
width: 300px;
height: 300px;
background: red;
margin: 0px;
padding: 0px;
}
#nav2 {
width: 200px;
height: 200px;
background: rgb(47, 0, 255);
margin: 0px;
padding: 0px;
}
#nav3 {
width: 100px;
height: 100px;
background: rgb(1, 255, 14);
margin: 0px;
padding: 0px;
}
JS:
document.getElementById("nav1").onclick = function(e) {
alert("nav1");
}
document.getElementById("nav2").onclick = function(e) {
alert("nav2");
}
document.getElementById("nav3").onclick = function(e) {
alert("nav3");
}
阻止冒泡:
JS:
document.getElementById("nav1").onclick = function(e) {
alert("nav1");
}
document.getElementById("nav2").onclick = function(e) {
alert("nav2");
e.stopPropagation();
}
document.getElementById("nav3").onclick = function(e) {
alert("nav3");
e.stopPropagation();
}
加上if判断:
JS:
document.getElementById("nav1").onclick = function(e) {
if (e.target.id == "nav3") {
alert("nav3");
} else if (e.target.id == "nav2") {
alert("nav2");
} else {
alert("nav1");
}
}