[jQuery] jQuery 이벤트 드리블링을 활용한 애니메이션 제어
jQuery를 사용하여 웹 페이지에서 다양한 애니메이션을 제어하기 위해 이벤트 드리블링을 활용하는 방법에 대해 알아보겠습니다.
이벤트 드리블링 설명
이벤트 드리블링은 한 요소의 두 이벤트 핸들러 간의 경쟁을 처리하는 방법을 가리킵니다. 예를 들어, 한 요소에 클릭 이벤트 핸들러가 여러 개 존재할 때, 해당 이벤트가 하위 요소의 영역까지 전달되지 않고 드리블링되어 상위 요소의 이벤트 핸들러까지 동작하도록 하는 개념입니다.
애니메이션 제어를 위한 이벤트 드리블링 활용
$("#outer").on("click", function (e) {
console.log("outer container clicked");
});
$("#inner").on("click", function (e) {
e.stopPropagation();
console.log("inner container clicked");
});
위의 예제에서 #inner
요소의 클릭 이벤트 핸들러에서 e.stopPropagation()
을 호출하여 이벤트의 전파를 막고 있습니다. 이로써 #outer
요소의 클릭 이벤트 핸들러가 동작되는 것을 확인할 수 있습니다.
애니메이션 처리 예제
$("#myButton").on("click", function () {
$(this).animate({ width: "200px", height: "200px" }, "slow");
});
위의 예제는 #myButton
을 클릭했을 때 해당 버튼의 크기를 서서히 200px로 확대하는 애니메이션을 구현한 것입니다.
이렇게 이벤트 드리블링을 활용하여 다양한 애니메이션을 제어할 수 있습니다.
마무리
jQuery의 이벤트 드리블링을 활용하여 애니메이션을 처리하는 방법에 대해 알아보았습니다. 이를 통해 웹 페이지의 다양한 요소들을 보다 동적으로 제어할 수 있게 됩니다.
참고 자료: jQuery 이벤트 메소드 - stopPropagation()