1. addEventListener 사용한 이벤트 처리
- 이전에 사용한 많은 이벤트 방식이 있는데 사용할 것을 권하지 않고 addEventListener를 사용할 것을 권장한다.
element.addEventListener(event, handlerFunction);
- element: 이벤트를 연결할 HTML요소
- event: 연결하려는 이벤트의 종류를 나타내는 문자열
- 예: click, onclick, mouseover 등
- handlerFunction: 이벤트가 발생했을 때 실행할 함수
- 다음과 같은 예제는 아래 참고하자.
cosnt button = document.getElementById("myButton");
button.addEventListener("click", function() {
alert("버튼이 클릭되었습니다!");
});
const button = document.getElementById("myButton");
function handleClick() {
alert("버튼이 클릭되었습니다!");
}
button.addEventListener("click", handleClick);
button.removeEventListener("click", handleClick);
const button = document.getElementById("myButton");
button.addEventListener("click", function(event) {
console.log("클릭된 요소: " + event.target.tagName);
console.log("마우스 위치: " + event.clientX + ", " + event.clientY);
if(event.target.tagName == "BUTTON") {
alert("버튼이 클릭되었습니다!");
}
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<script>
function f1() {
alert('f1');
}
window.onload = function () {
var b1 = document.getElementById('b1');
b1.addEventListener('click', f1);
b1.addEventListener('click', function () {
alert('f2');
});
b1.removeEventListener('click', f1);
};
</script>
</head>
<body>
<button id="b1">클릭</button>
</body>
</html>
2. DOM을 이용한 element 추가하기
- 추가 버튼을 눌러서 htmlContainer에 새로운 html 추가하는 프로그램
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HTML 코드 추가 예제</title>
<script>
document.addEventListener('DOMContentLoaded', function () {
const addButton = document.getElementById('myButton');
const htmlContainer = document.getElementById('htmlContainer');
addButton.addEventListener('click', function () {
const newHTML = `<div class = "added-content">
<p>새로운 HTML 코드입니다</p>
</div>
`;
htmlContainer.innerHTML += newHTML;
});
});
</script>
</head>
<body>
<h1>HTML 코드 추가 예제</h1>
<button id="addButton">HTML 코드 추가</button>
<div id="htmlContainer"></div>
</body>
</html>