天天看點

深入了解target與currentTarget一、target與currentTarget兩者既有差別,也有聯系

一、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>
           

currentTarget指向添加監聽事件的對象,而target指向觸發事件監聽的對象。(可能這樣更好了解:currentTarget始終是監聽事件者,而target是事件的真正發出者)

繼續閱讀