DOM 트리(문서 구조)에 발생하는 변화를 관찰하고, 변화를 감지했을 때 콜백을 실행하는 Web API
click
, load
등)로는 잡을 수 없는 DOM 변화를 잡을 수 있음subtree: true
) 성능에 부담이 큼disconnect()
해주는 게 좋음// 1. 옵저버 생성
const observer = new MutationObserver((mutations, obs) => {
for (const mutation of mutations) {
console.log("변경 감지됨:", mutation);
}
});
// 2. 대상 노드 선택
const targetNode = document.getElementById("app")!;
// 3. 관찰 시작
observer.observe(targetNode, {
childList: true, // 자식 노드의 추가/삭제 감지
attributes: true, // 속성(attribute) 변경 감지
subtree: true, // 하위 모든 자식까지 감지
});
// 4. 필요 시 관찰 중단
// observer.disconnect();