FEDev Story

[이벤트] 이벤트 핸들러의 반환 값 본문

jQuery

[이벤트] 이벤트 핸들러의 반환 값

지구별72 2016. 4. 7. 20:14

제이쿼리에서는 이벤트 핸들러의 반환값을 검사해 이벤트 처리를 계속할 지 결정한다. 제이쿼리의 이벤트 핸들러에서는 주로 false를 반환한다. 이 반환 값은 다음 세가지 행동을 수행한다.

  • 제이쿼리가 기본 동작(링크 따라가기, 텍스트 선택 등)을 수행하지 않게 한다. 이벤트 핸들러에서 event.preventDefault()를 호출하더라도 이와 같은 효과를 누를 수 있다.
  • 제이쿼리가 부모 DOM 엘리먼트에서 같은 이벤트를 트리거(이런 동작을 버블링이라 한다)하는 일을 멈추게 한다. 이벤트 핸들러에서 event.stopPropagation()를 호출하더라도 이와 같은 효과를 누릴 수 있다.
  • 해당 이벤트 핸들러 실행을 종료한다. 클릭한 엘리먼트가 이 핸들러 다음에 다른 핸들러에도 연결돼 있다면 순서상 다음번 핸들러는 실행된다. (만일 해당 엘리먼트에 연결된 다른 핸들러가 실행되는 것을 막으려면 event.preventImmediatePropagation()을 호출하면 된다.)

이와 같은 세가지 동작은 일반적으로 이벤트 핸들러에 기대하는 동작이다. 이들 동작을 수행하지 않으려면 이벤트 핸들러는 true를 반환하면 된다.

Comments