target vs curruntTarget
<div class="yellow" id="yellow" style="background: #ff0; width: 300px; height: 150px"> <div class="green" style="background: #0f0; width: 200px; height: 100px"></div> </div> <script type="text/javascript"> var divYellow = document.getElementById('yellow'); divYellow.onclick = function(e){ e = e || window.event; var target = e.target || e.srcElement; //ie대응 var current = e.currentTarget || this; //ie대응 alert('target: '+target.className + ' currentTarget: ' + current.className); } </script>
아래노랑네모에 클릭이벤트를 걸고,
- 위초록네모 클릭-> target:위초록 curruetTarget:아래노랑
- 아래노랑네모 클릭-> target:아래노랑 currentTarget:아래노랑
위초록네모를 클릭하면 그걸 감싸고 있는 아래노랑네모에 event가 bubbling되어 이벤트 발생.
e.target: 이벤트가 일어난 곳
e.currentTarget: 실제로 이벤트가 걸려있는 위치
jQuery curruntTarget
$( "p" ).click(function( event ) { alert( event.currentTarget === this ); // true });
jquery의 curruntTarget은 this와 동일하다.
Refer
https://api.jquery.com/event.currentTarget/
http://jsfiddle.net/misteroneill/kmn4A/3/
http://lidaf.tistory.com/38