一、target与currentTarget两者既有区别,也有联系
举例:
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Example</title>
5 </head>
6 <body>
7 <div id="A">
8 <div id="B">
9 </div>
10 </div>
<script>
var a = document.getElementById('A'),
b = document.getElementById('B');
function handler (e) {
console.log(e.target);
console.log(e.currentTarget);
}
// 当addEventListener的第三个参数为true的时候,代表是在捕获阶段绑定,当第三个参数为false或者为空的时候,代表在冒泡阶段绑定。
a.addEventListener('click', handler, false);
// 当点击A时:输出:输出 1 <div id="A">...<div> 2 <div id="A">...<div>
// 当点击B时:输出:输出 1 <div id="B">...<div> 2 <div id="A">...<div>
</script>
11 </body>
12 </html>