CustomEvent
객체를 사용하여 커스텀 이벤트를 생성합니다.dispatchEvent
메소드를 사용하여 이벤트를 발생시킵니다.addEventListener
메소드를 사용하여 이벤트 핸들러 함수를 등록하여 이벤트를 처리할 수 있습니다.<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Custom Event Example</title>
</head>
<body>
<div id="box">Click me!</div>
<script>
// 1. 커스텀 이벤트 생성
const customEvent = new CustomEvent('customClick', {
bubbles: true,
detail: { message: 'Hello Custom!' }
});
// 2. 이벤트 핸들러 함수 등록
const box = document.getElementById('box');
box.addEventListener('customClick', function(event) {
console.log(event.detail.message);
});
// 3. 커스텀 이벤트 발생
box.addEventListener('click', function() {
this.dispatchEvent(customEvent);
});
</script>
</body>
</html>
CustomEvent
객체를 사용하여 customClick
이라는 이름의 커스텀 이벤트를 생성합니다. bubbles
와 detail
옵션을 설정하여 버블링을 활성화하고 이벤트 데이터를 추가합니다.id
가 box
인 요소에 대해 customClick
이벤트 핸들러 함수를 등록합니다. 이벤트 핸들러 함수에서는 콘솔에 detail.message
값을 출력합니다.click
이벤트가 발생하면 box
요소에서 customClick
이벤트를 발생시킵니다.이 예제 코드를 실행하면, box 요소를 클릭하면 콘솔에 Hello Custom!이라는 메시지가 출력됩니다. 이벤트 핸들러 함수에서는 event.detail 속성을 통해 이벤트 데이터에 접근할 수 있습니다.