💡 css적용
<!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 () {
var str = "";
str += "<p id='jsTitle'> javascript & node.js</p>";
str += "<img id='logoImg', src='./img/logo.png'>";
document.body.innerHTML = str;
var titleNode = document.getElementById("jsTitle");
titleNode.style.fontsize = "1.2em";
titleNode.style.border = "1px solid #ff0000";
var logoNode = document.getElementById("logoImg");
logoNode.style.width = "170px";
logoNode.style.height = "67px";
};
</script>
</head>
<body></body>
</html>
- 결과
1. 이벤트
- 마우스 버튼을 클릭할 때 함수를 실행시키는 것
<!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>
function headerClick() {
console.log("click!");
var ce = document.getElementById("cEvent");
console.log(ce);
ce.onclick = null;
ce.ondblclick = null;
}
</script>
<style>
#cEvent {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: rgb(152, 231, 145);
color: #fff;
font-weight: bolder;
}
</style>
</head>
<body>
<div id="cEvent" onclick="headerClick();">click event</div>
</body>
</html>
- 결과
💡 기본 모델
<script>
window.onload = function(){
var ce = document.getElementById("cEvent");
ce.onclick = function () {
console.log("click!");
};
ce.onclick = clickEventHandler;
function clickEventHandler(){
console.log("clickEventHandler!");
}
};
</script>
- 결과
💡 이벤트 삭제
<!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("event 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>
#cEventAdd {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: #f00;
color: #fff;
font-weight: bolder;
}
#cEventRem {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: #0f0;
color: #fff;
font-weight: bolder;
}
</style>
</head>
<body>
<div id="cEventAdd">click event</div>
<div id="cEventRem">remove event</div>
</body>
</html>
- 결과
💡 이벤트 객체
- 사용자가 직접 만들지 않아도 기본적으로 제공
- 속성과 메소드가 존재
- ex) 마우스 클릭 시 클릭한 좌표값, 이벤트를 발생시킨 객체가 어떤 것인지
<!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(e) {
console.log("click!!");
console.log("this : " + this);
console.log(e);
var event = e || window.event;
for (var key in event) {
console.log(key + " : " + event[key]);
}
this.style.backgroundColor = "#0000ff";
}
var objD = document.getElementById("objDiv");
objD.addEventListener("click", addHandler);
var objP = document.getElementById("objPar");
objP.addEventListener("click", addHandler);
};
</script>
<style>
#objDiv {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: #f00;
color: #fff;
font-weight: bolder;
}
#objPar {
width: 200px;
height: 100px;
line-height: 100px;
text-align: center;
font-size: 1.2em;
background-color: #0f0;
color: #fff;
font-weight: bolder;
}
</style>
</head>
<body>
<div id="objDiv">Object Division</div>
<p id="objPar">Object Paragraph</p>
</body>
</html>
💡 이벤트 활용 예제: 버튼 클릭하여 연산하기
<!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 sumHandler() {
console.log("sumHandler!");
var num1 = document.getElementById("num1").value;
var num2 = document.getElementById("num2").value;
var sumDiv = document.getElementById("sum");
sumDiv.innerHTML = "합계:" + (Number(num1) + Number(num2));
}
var objB = document.getElementById("btn");
objB.addEventListener("click", sumHandler);
};
</script>
<style>
#event {
text-align: center;
background-color: rgb(224, 224, 224);
border: 1px solid rgb(136, 136, 136);
border-radius: 5px;
}
</style>
</head>
<body>
숫자 1: <input id="num1" type="number" value="0" /> + 숫자 2:
<input id="num2" type="number" value="0" /> =
<button id="btn">더하기</button>
<div id="sum">합계:</div>
</body>
</html>
- 결과
💡 글자수 세기
<!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 areaHandler() {
console.log("A-Handler!");
var count = document.getElementById("area-input").value.length;
if(count >= 30) {
alert("ㅡㅡ"+"30자 까지만 입력해");
return;
}
document.getElementById("area-count").innerHTML = String(count);
}
var objArea = document.getElementById("area-input");
objArea.addEventListener("keyup",areaHandler)
};
</script>
<style>
#event {
text-align: center;
background-color: rgb(224, 224, 224);
border: 1px solid rgb(136, 136, 136);
border-radius: 5px;
}
</style>
</head>
<body>
<textarea id="area-input"></textarea>
<p>글자수<span id="area-count">0</span>/1200</p>
</body>
</html>
- 결과
💡 폼 태그
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
<script>
window.onload = function () {
var sbmBtn = document.getElementById("sbmBtn");
sbmBtn.onclick = function () {
if (document.getElementById("uId").value == "") {
alert("user id blank!!");
} else if (document.getElementById("uPw").value == "") {
alert("user pw blank!!");
} else {
alert("login ok!!");
document.getElementById("loginForm").submit();
}
};
var resBtn = document.getElementById("resBtn");
resBtn.onclick = function () {
alert("reset ok!!");
document.getElementById("loginForm").reset();
};
};
</script>
<style></style>
</head>
<body>
<form id="loginForm" action="http://www.google.com">
USER ID : <input id="uId" type="text" name="uId" /><br />
USER PW : <input id="uPw" type="password" name="upw" /><br />
<input id="sbmBtn" type="button" value="SUBMIT" />
<input id="resBtn" type="button" value="RESET" />
</form>
</body>
</html>
- 결과