冒泡机制实现的事件委托
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
ul li{
list-style: none;
}
</style>
</head>
<body>
<ul>
<li>第一行</li>
<li>第二行</li>
<li>第三行</li>
<li>第四行</li>
</ul>
</body>
<script>
var ul = document.getElementsByTagName("ul")[0];
var li = document.getElementsByTagName("li");
for (var i = 0; i < li.length; i++) {
li[i].index = i;
}
ul.onclick = function(e){
e = e || event;
//直接拿到事件源
//事件源是谁就执行谁
var target = e.target || e.srcElement;
console.log(e);
if(target.nodeName.toLowerCase() == "li"){
console.log(target.index);
console.log(target.innerHTML);
}
}
</script>
</html>
冒泡路径
开启了冒泡
不关闭冒泡
事件源
目标对象
到什么类型的元素
事件类型
srcElement |
---|
target |
toElement |