[계산] window.onload = function () { var str = ""; str += "<p id='jsTitle'> javascript &node.js </p>"; str += "<img id='logoImg', src='./img/logo.png',"; str += "width='170', height='67', tempData='logoImg'>"; document.body.innerHTML = str; //부모객체를 찾은 다음 부모객체에서 자식객체를 삭제한다. var titleNode = document.getElementById("jsTitle"); titleNode.parentNode.removeChild(titleNode); var logoNode = document.getElementById("logoImg"); logoNode.parentNode.removeChild(logoNode); }; //style속성을 이용한 CSS적용 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.border = "1px solid #ff0000"; var logoNode = document.getElementById("logoImg"); logoNode.style.width = "170px"; logoNode.style.height = "67px"; };[결과값]
웹페이지에서 마우스를 클릭했을 때, 키를 입력했을 때, 특정요소에 포커스가 이동되었을 때 어떤 사건을 발생시키는 것
click : 요소에 마우스를 클릭했을 때 이벤트가 발생
dbclick : 요소에 마우스를 더블클릭했을 때 이벤트가 발생
- 인라인 모델
- 기본 모델
- MS 핸들러 모델
-표준 핸들러 모델
[계산] <!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: #f00; color: #fff; font-weight: bolder; } </style> </head> <body> <!-- <div id="cEvent">click event</div> --> <div id="cEvent" onclick="headerClick();">click event</div> <!-- <div id="cEvent">click event</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 () { var ce = document.getElementById("cEvent"); //방법1 ce.onclick = function () { console.log("click!"); //이벤트 제거 //cd.onclick=null; }; // //방법2 // ce.onclick=clickEventHandler; // function clickEventHandler(){ // console.log("clickEventHandler!"); // //이벤트 제거 // //ce.onclick=null; // } }; </script> <style> #cEvent { width: 200px; height: 100px; line-height: 100px; text-align: center; font-size: 1.2em; background-color: #f00; color: #fff; font-weight: bolder; } </style> </head> <body> <div id="cEvent">click event</div> </body> </html>[결과값]
[계산] <!DOCTYPE html> <html lang="en"> <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> <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> <script> window.onload = function() { function addHandler(){ console.log("click!!"); }; function removeHandler(){ console.log("event remove!!"); ceA.removeEventListener("click", addHandler); }; var ceA = document.getElementById("cEventAdd"); ceA.addEventListener("click",function addHandler(){ console.log("click!!"); }); var ceR = document.getElementById("cEventRem"); ceR.addEventListener("click", removeHandler); }; </script> </head> <body> <div id="cEventAdd">click event</div> <div id="cEventRem">remove event</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 () { /* 자바에서의 this. 객체 자기 자신 자바스크립에서의 this = 자기를 호출하는 놈(객체) */ function addHandler(e) { console.log("click!!"); console.log("this : " + this); // ⇒ 호출한 objD 나 objP 가 this가 된다. //java의 this : 자기 자신 //js의 this : 상황에 따라 다르다. // new this : 자기자신 // 생성자 외 다른 this : 호출한 놈 console.log(e); //IE8 이전버전을 고려 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 () { /* 자바에서의 this. 객체 자기 자신 자바스크립에서의 this = 자기를 호출하는 놈(객체) js의 this : 상황에 따라 다르다. new this : 자기자신 생성자 외 다른 this : 호출한 놈 */ function addHandler(e) { console.log("click!!"); console.log("this : " + this); // ⇒ 호출한 objD 나 objP 가 this가 된다. this.style.backgroundColor = "#0000ff"; } /*=========================================================== 이벤트 객체 - 사용자가 직접 만들지 않아도 기본적으로 제공 - 속성과 메소드가 존재 - ex) 마우스 클릭 시 클릭한 좌표값, 이벤트를 발생시킨 객체가 어떤것인지 event를 개발자가 콜백함수로 등록했을 때, event 객체 → 웹브라우저에게 받는다 */ function divHandler(event) { // event 파라미터명은 정해진 것이 아니지만, e나 event로 사용함 console.log("divHandler!!"); console.log("this : " + this); console.log(event); this.style.backgroundColor = "#000000"; } /*=======================================================================================*/ var objD = document.getElementById("objDiv"); objD.addEventListener("click", addHandler); var objP = document.getElementById("objPar"); objP.addEventListener("click", addHandler); var objDiv = document.getElementById("divEvent"); objDiv.addEventListener("click", divHandler); }; </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; } #divEvent { width: 200px; height: 100px; line-height: 100px; text-align: center; font-size: 1.2em; background-color: rgb(61, 140, 230); color: #fff; font-weight: bolder; } </style> </head> <body> <div id="objDiv">Object Division</div> <p id="objPar">Object Paragraph</p> <div id="divEvent">Object Event</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> </head> <body> <input type ="text" id="num1" /> + <input type ="text" id="num2" /> <button onclick="sum()">계산</button> <h1></h1> </body> <script> var num1 = document.getElementById("num1"); var num2 = document.getElementById("num2"); var h1 = document.getElementsByTagName("h1")[0]; function sum() { h1.innerHTML = "Sum : " + Number(num1.value) + Number(num2.value); } </script> <style> h1 { background-color: rgb(66, 134, 212); color: white; } </style> </html>[결과값]
[계산 : onchange 실시간 변경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> </head> <body> <input type ="text" id="num1" onchange="sum()" /> + <input type ="text" id="num2" onchange="sum()" /> <button onclick="sum()">계산</button> <h1></h1> </body> <script> var num1 = document.getElementById("num1"); var num2 = document.getElementById("num2"); var h1 = document.getElementsByTagName("h1")[0]; function sum() { h1.innerHTML = "Sum : " + (Number(num1.value) + Number(num2.value)); } </script> <style> h1 { background-color: rgb(66, 134, 212); color: white; } </style> </html>[결과값]
[계산 : onchange 실시간 변경2] <!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 sumHandler2() { console.log("sumHandler!!"); // 함수 실행 표시 var v1 = document.getElementById("v1"); var v2 = document.getElementById("v2"); console.log(v1.value); var sumDiv = document.getElementById("sum"); sumDiv.innerHTML = "합계: " + (Number(v1.value) + Number(v2.value)); } var v1 = document.getElementById("v1"); var v2 = document.getElementById("v2"); v1.addEventListener("change", sumHandler2); v2.addEventListener("change", sumHandler2); }; </script> </head> <body> <input id="v1" type="number" onchange="" value="0" /> + <input id="v2" type="number" onchange="" 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 asciiHandler(){ var char = document.getElementById("ascii-input").value; // char가 들어간다 var ascii = char.charCodeAt(0); // 문자열을 아스키코드로 변환 document.getElementById("ascii-value").innerHTML = String(ascii); } var objAscii = document.getElementById("ascii-input"); objAscii.addEventListener("keyup",asciiHandler); // input값이 변할 때마다 }; /*maxlength : input에 들어가는 숫자를 1개로 제한*/ </script> </head> <body> <input id="ascii-input" type="text" value="" maxlength="1" /> <p>아스키코드의 값은 :<span id="ascii-value"></span></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 asciiHandler(){ var char = document.getElementById("ascii-input").value; // char가 들어간다 var ascii = char.length; // 문자열을 카운팅 document.getElementById("ascii-value").innerHTML = String(ascii); } var objAscii = document.getElementById("ascii-input"); objAscii.addEventListener("keyup",asciiHandler); // input값이 변할 때마다 }; </script> </head> <body> <input id="ascii-input" type="text" value=""/> <p>문자의 개수 :<span id="ascii-value"></span></p> </body> </html>[결과값]
[계산 : 문자열카운팅2] <!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 () { areaHandler(); function areaHandler() { console.log("areaHandler!"); // 디버깅 문구 var count = document.getElementById("area-input").value.length; document.getElementById("area-count").innerHTML = String(count); var objArea = document.getElementById("area-input"); objArea.addEventListener("keyup", areaHandler); // input값이 변할 때마다 } }; </script> </head> <body> <textarea id="area-input"></textarea> <p>글자수 :<span id="area-count"></span>/1200</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 () { areaHandler(); function areaHandler() { console.log("areaHandler!"); // 디버깅 문구 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); // input값이 변할 때마다 } }; </script> </head> <body> <textarea id="area-input"></textarea> <p>글자수 :<span id="area-count"></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>
USER ID : ###[click 증감연산]
[계산] <!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 plus() { var num = document.getElementById("num"); num.value++; } function minus() { var num = document.getElementById("num"); num.value--; } document.getElementById("plus").addEventListener("click", plus); document.getElementById("minus").addEventListener("click", minus); }; </script> </head> <body> 갯수<input id="num" type="text" value="0" /> <button id="plus">+</button> <button id="minus">-</button> </body> </html>[결과값]