window.onload = function () {
var str = "";
str += "<p id='jsTitle'> javascript & node.js </p>";
str += "<img id='logoImg', src='./logo.png',";
str += "width='170', height='67'>";
document.body.innerHTML = str;
var titleNode = document.getElementById("jsTitle");
titleNode.parentNode.removeChild(titleNode);
// jsTitle이라는 ID를 가진 걸 찾고, 부모 노드(body)에 가서 자식 노드를 지운다.
var logoNode = document.getElementById("logoImg");
logoNode.parentNode.removeChild(logoNode);
// logoImg이라는 ID를 가진 걸 찾고, 부모 노드(body)에 가서 자식 노드를 지운다.
}
window.onload = function () {
var str = "";
str += "<p id='jsTitle'> javascript & node.js </p>";
str += "<img id='logoImg', src='./logo.png'>";
document.body.innerHTML = str;
var titleNode = document.getElementById("jsTitle");
titleNode.style.fontSize = "1.2em";
titleNode.style.border = "1px solid #FFFF00";
var logoNode = document.getElementById("logoImg");
logoNode.style.width = "170px";
logoNode.style.height = "67px";
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function headerClick() {
console.log("click");
}
</script>
<style>
#cEvent {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: #FF0000;
color: #FFFFFF;
font-weight: bold;
}
</style>
</head>
<body>
<div id="cEvent" onclick="headerClick();">
<!-- ondblclick : 더블클릭 -->
click event
</div>
</body>
</html>
function headerClick() {
console.log("click");
// 3줄 추가
var ce = document.getElementById("cEvent");
console.log(ce);
ce.onclick = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
<script>
window.onload = function () {
var ce = document.getElementById("cEvent");
// 익명 함수로 만든 버전
ce.onclick = function () {
console.log("click");
}
}
</script>
</head>
<body>
<div id="cEvent">
click event
</div>
</body>
</html>
// 명시적 함수로 선언한 클릭 이벤트
ce.onclick = clickEventHandler;
function clickEventHandler() {
console.log("click");
// ce.onclick = null;
}
<!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>
<script>
window.onload = function () {
function addHandler() {
console.log("click");
};
function removeHandler() {
console.log("remove");
ceA.removeEventListener("click", addHandler, false);
};
var ceA = document.getElementById("cEventAdd");
ceA.addEventListener("click", addHandler, false);
var ceR = document.getElementById("cEventRem");
ceR.addEventListener("click", removeHandler, false);
}
</script>
<style>
div {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
font-weight: bold;
}
#cEventAdd {
background-color: #FF0000;
color: #FFFFFF;
}
#cEventRem {
background-color: #00FF00;
color: #FFFFFF;
}
</style>
</head>
<body>
<div id="cEventAdd">
add event
</div>
<div id="cEventRem">
remove event
</div>
</body>
</html>
이벤트 객체
- 사용자가 직접 만들지 않아도 기본적으로 제공
- 속성과 메소드가 존재
- ex) 마우스 클릭시 클릭한 좌표값, 이벤트를 발생시킨 객체가 어떤 것인지
console.log(event); (브라우저가 가지고 있는 정보 출력)
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
<script>
window.onload = function () {
function addHandler() {
console.log("click");
console.log("this : " + this);
this.style.backgroundColor = "#333333";
};
var objD = document.getElementById("objDiv");
objD.addEventListener("click", addHandler, false);
var objP = document.getElementById("objPar");
objP.addEventListener("click", addHandler, false);
function divHandler(event) {
console.log("click");
console.log("this : " + this);
console.log(event);
this.style.backgroundColor = "#333333";
};
var objE = document.getElementById("divEvent");
objE.addEventListener("click", divHandler, false);
}
</script>
<style>
div,
p {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
font-weight: bold;
}
#objDiv {
background-color: #FF0000;
color: #FFFFFF;
}
#objPar {
background-color: #00FF00;
color: #FFFFFF;
}
#divEvent {
background-color: #0000FF;
color: #FFFFFF;
}
</style>
</head>
<body>
<div id="objDiv">D1</div>
<p id="objPar">P1</p>
<div id="divEvent">D2</div>
</body>
</html>
var me = document.getElementById("mouseEvent");
// 클릭 이벤트
me.addEventListener("click", function () {
console.log("click event!!");
}, false);
// 마우스 오버 이벤트
me.addEventListener("mouseover", function () {
console.log("mouseover event!!");
}, false);
// 마우스 아웃 이벤트
me.addEventListener("mouseout", function () {
console.log("mouseout event!!");
}, false);
// 마우스 무브 이벤트
me.addEventListener("mousemove", function (e) {
console.log("mousemove event!!");
//console.log("x : " + e.clientX + ", y : " + e.clientX);
}, false);
// 마우스 다운 이벤트
me.addEventListener("mousedown", function (e) {
console.log("mousedown event!!");
}, false);
// 마우스 업 이벤트
me.addEventListener("mouseup", function (e) {
console.log("mouseup event!!");
}, false);
// 더블클릭 이벤트
me.addEventListener("dblclick", function (e) {
console.log("dblclick event!!");
}, false);