<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<button>Click to add</button>
<script>
const button = document.querySelector('button');
button.addEventListener('click', () => {
const element = document.createElement('h1');
document.body.appendChild(element);
element.style.color = 'red';
element.innerText = 'hello';
});
</script>
</body>
</html>
위의 코드중 button.addEventListener를 보면 element를 생성하고 document.body에 append한 다음, style을 지정해 주었다. 정상적으로 동작한다.
하지만, 코드의 흐름 상 body에 append하기 전, style을 지정해 주고 append해야 할 것만 같다.
event가 동작하는 원리는 다음과 같다.