10.1. 프로그램언어 자바스크립트(JavaScript)에서의 이벤트 리스너 추가

프로그램언어자바스크립트의 버블링 발생 과정

프로그램언어 자바스크립트의 버블링(Bubbling)은 이벤트가 발생한 요소에서 시작하여 상위 요소로 전파되는 현상을 말합니다. 이벤트가 발생하면 해당 요소에서 시작하여 부모 요소, 그 다음 상위 요소로 이벤트가 전파되는 과정을 의미합니다.

예를 들어, 아래와 같은 HTML 구조가 있다고 가정해봅시다.


<div id="parent">
  <div id="child">
    버블링 예제
  </div>
</div>

만약 “child” 요소에서 클릭 이벤트가 발생한다면, 이벤트는 “child” 요소에서 시작하여 “parent” 요소로 전파됩니다. 이 과정을 예제 코드로 보여드리겠습니다.


<div id="parent">
  <div id="child">
    버블링 예제
  </div>
</div><script>
const parent = document.getElementById('parent');
const child = document.getElementById('child');parent.addEventListener('click', function(event) {
  console.log('부모 요소(parent) 클릭');
});child.addEventListener('click', function(event) {
  console.log('자식 요소(child) 클릭');
});
</script>

위의 예제 코드에서 “child” 요소를 클릭하면 콘솔에 ‘자식 요소(child) 클릭’이 출력되고, 이어서 ‘부모 요소(parent) 클릭’도 출력됩니다. 이는 클릭 이벤트가 “child” 요소에서 시작하여 상위 요소인 “parent” 요소로 버블링되기 때문입니다.

프로그램언어자바스크립트의 버블링 중단

프로그램언어 자바스크립트의 버블링 중단에 대해 설명드리겠습니다.

버블링 중단은 이벤트가 상위 요소로 계속해서 전파되는 현상을 막는 것을 말합니다. 이벤트가 발생한 요소에서 시작하여 상위 요소로 이벤트가 전파되는데, 때때로 이러한 동작을 중단시켜야 할 때가 있습니다.

예를 들어, 특정 버튼을 클릭했을 때 해당 버튼의 이벤트만 처리하고 상위 요소로의 이벤트 전파를 막아야 하는 경우가 있습니다. 이때, 이벤트 객체의 stopPropagation() 메서드를 사용하여 버블링을 중단할 수 있습니다.


document.getElementById('myButton').addEventListener('click', function(event) {
    event.stopPropagation(); // 이벤트 버블링 중단
    // 이벤트 처리 로직
});

프로그램언어자바스크립트의 버블링과 이벤트 리스너

프로그래밍 언어 자바스크립트에서 이벤트 처리는 웹 개발에서 중요한 부분입니다. 이벤트는 사용자의 상호작용을 감지하고 처리하는 데 사용됩니다. 버블링은 이벤트가 발생한 요소에서 시작해 상위 요소로 전파되는 현상을 의미합니다. 이벤트 리스너는 특정 이벤트가 발생했을 때 실행할 함수를 지정하는 방법입니다.

예를 들어, 아래는 버블링과 이벤트 리스너를 사용한 간단한 예제 코드입니다.





  이벤트 처리 예제


  
클릭해보세요

프로그램언어자바스크립트의 버블링과 이벤트 위임

프로그램언어 자바스크립트의 버블링과 이벤트 위임에 대해 알아보겠습니다.

**버블링(Bubbling)**

버블링은 이벤트가 발생한 요소에서 시작해 부모 요소로 전파되는 현상을 말합니다. 즉, 하위 요소에서 이벤트가 발생하면 상위 요소로 이벤트가 전파되는 것을 의미합니다. 이는 이벤트가 여러 요소에 적용되어 있는 경우, 상위 요소로 이벤트가 전파되어 처리될 수 있음을 의미합니다.

**이벤트 위임(Event Delegation)**

이벤트 위임은 버블링을 활용하여 상위 요소에 이벤트를 할당함으로써 하위 요소들의 이벤트를 관리하는 방법입니다. 이를 통해 동적으로 생성되는 요소에 대한 이벤트 처리를 효율적으로 할 수 있습니다.


// 예제 코드
document.getElementById('parentElement').addEventListener('click', function(event) {
    if(event.target.classList.contains('childElement')) {
        // 클릭된 요소가 특정 클래스를 가지고 있는 경우에만 처리
        event.target.style.color = 'red';
    }
});

위 예제 코드에서는 ‘parentElement’라는 상위 요소에 클릭 이벤트를 할당하고, 클릭된 요소가 ‘childElement’ 클래스를 가지고 있는 경우에만 해당 요소의 텍스트 색상을 빨간색으로 변경하는 예시입니다. 이렇게 상위 요소에 이벤트를 할당하여 하위 요소들의 이벤트를 효율적으로 관리할 수 있습니다.

프로그램언어자바스크립트의 버블링과 이벤트 타겟

프로그램언어 자바스크립트의 버블링과 이벤트 타겟에 대해 알아보겠습니다.

이벤트 버블링은 HTML 요소에서 이벤트가 발생했을 때, 해당 이벤트가 부모 요소로 전파되는 현상을 말합니다. 즉, 자식 요소에서 이벤트가 발생하면 부모 요소로 이벤트가 전파되어가는 것을 의미합니다. 이벤트 버블링은 DOM 트리 구조 상에서 발생하며, 가장 하위 요소에서 시작하여 상위 요소로 이벤트가 전파됩니다.

이벤트 타겟은 이벤트가 실제로 발생한 요소를 가리키는 객체입니다. 이벤트 핸들러 함수 내에서 이벤트 타겟을 통해 이벤트가 발생한 요소에 대한 정보를 얻을 수 있습니다.


// 예제 코드
document.getElementById('parent').addEventListener('click', function(event) {
  console.log('부모 요소 클릭');
  console.log('이벤트 타겟:', event.target);
});document.getElementById('child').addEventListener('click', function(event) {
  console.log('자식 요소 클릭');
  console.log('이벤트 타겟:', event.target);
});

Leave a Comment