처음부터 차근차근

jquery : Event.stopImmediatePropagation() 본문

프로그래밍/Javascript

jquery : Event.stopImmediatePropagation()

_soyoung 2022. 2. 6. 17:16
반응형

이벤트 전파를 막는 함수이다.

 

예를들어

코드의 구조가 이런식으로 되어 있다고 가정해보자.

div 2개와 span에 onclick 이벤트가 걸려있으면 span을 클릭했을 때 두개의 div의 클릭 이벤트도 같이 실행된다.

당연히 span은 div들의 자손 노드이기 때문이다.

 

이런 상황에서 span을 눌러도 div의 이벤트가 실행되지 않게 하는 함수가 있다.

바로 이 함수이다.

$('span').onclick = function(e) {

    // 상위 이벤트(div 두개) 동작하지 않게 하기
    e.stopImmediatePropagation();
}

이 함수를 사용하면 상위 노드의 이벤트가 실행되지 않는다!

이벤트 중복 처리 때문에 오류났었는데 한참을 못찾았었다...

결국 오류 발견하고 

구글에다 검색해서 찾은 해결 방법이다.

 

 

 

 

참고 : https://programmingsummaries.tistory.com/313

  

반응형
Comments