event.stopPropagation() 에 대하여

By | 5월 3, 2012

* event.stopPropagation() 이 왜 필요한가?

   - 상위 엘리먼트의 동일한 이벤트가 호출되는 것을 막기 위하여

   - 만약 TR에 onclick이벤트가 걸려 있고, TABLE에도 걸려있을 경우,
     TR을 클릭하면 TR이벤트 => TABLE이벤트 순으로 이벤트핸들러가 호출되는데.
     이 경우 TABLE이벤트가 trigger되지 않도록 하는 것이 stopPropagation() 이다.

* 참고 

   - 모질라 사이트에 있는 예제를 참고하면 이해가 쉬울 것이다.
      stopPropagation()이 있는 부분을 주석처리 비교하면서 'one' 이 있는 TR을 클릭해 보자

   - jQuery의 .live() 함수 등에서 stopPropagation()이 동작하지 않는 문제 - 댓글 참고

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments