<html>
, <head>
, <body>
, <title>
, <div>
등 HTML 내 요소(Element)들을 자바스크립트 에서는 문서 객체(Document Object) 라고 부른다.document.body.addEventListener('keyup', (event) => { })
// document.이벤트를 감지하는 HTML요소.addEventListener('이벤트종류', (event) => { })
document.body.onkeyup = (event) => { }
// document.이벤트를 감지하는 HTML요소.on이벤트종류 = (event) => { }
<script>
const listener = (event) => { }
</script>
<body onkeyup="listener(event)"> </body>
<!-- <이벤트를 감지하는 HTML요소 on이벤트종류="함수명"> -->
※ 모든 이벤트 모델에서 실행되는 함수는 첫번째 매개변수로 event 객체를 받는다.
※ DOMContetntLoaded
와 같이 이벤트를 감지할 Element가 필요하지 않은 경우도 있다.
관련 MDN 링크 : https://developer.mozilla.org/en-US/docs/Web/API/Event
이벤트 종류
keydown
. keypress
, keyup
, click
, scroll
, focus
, blur
등 다양한 종류가 있다.
관련 MDN 링크 : https://developer.mozilla.org/en-US/docs/Web/Events
event.code
, event.keycode
, event.altKey
, event.ctrlKey
, event.shiftKey
property가 사용된다.event.code
의 코드 목록 : https://developer.mozilla.org/en-US/docs/Web/API/UI_Events/Keyboard_event_code_valuesevent.keycode
의 코드 목록 : https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCodeHTML 요소 별 접근 방식
<select>
& <option>
event.target.options
: 모든 <option>
을 배열로 가지고 있는 propertyevent.target.options[Index].value
: 해당 index의 value를 가지고 있는 propertyevent.target.options.selectedIndex
: 선택된 option의 index를 가지고 있는 property<select multiple>
인 경우 event.target.options
배열의 각 요소의 .selected
Boolean 값으로 확인할 수 있다.<span>
, <p>
, <h1>
등
document.querySelector('찾을값').textContent
: 현재 value값을 가지고 있는 property<input type="checkbox">
, <input type="radio">
event.target.checked
: 체크되었는지를 Boolean값으로 가지고 있는 property조기 리턴 ( early return ) : 함수 중간 분기점( if
, switch
등 ) 에서 return 문을 사용하여 나머지 코드를 실행하지 않고 함수를 조기 종료 시키는 것
기본 이벤트 막기 : event.preventDefault()
이벤트 함수 안에서 직접 코딩한 이벤트 외 브라우저가 기본적으로 지원하는 동작을 막는다.
ex) 우클릭 시 컨텍스트 메뉴( context menu )를 출력하는 것, submit 버튼을 눌렀을 때 화면을 이동하는 것 등
localStorage & sessionStorage 객체
웹 API ( : 브라우저가 제공하는 기능)
웹 브라우저에 데이터를 저장하고 사용하는 객체.
localStorage.setItem(key, value)
: 값을 저장한다. localStorage.key
또는 localStorage[key]
의 형태로도 사용할 수 있다.localStorage.getItem(key)
: 저장된 값을 추출한다. 위 객체의 형태를 사용할 수도 있다.localStorage.removeItem(key)
: 특정 값을 삭제한다.localStorage.clrear()
: 모든 값을 삭제한다.※ 위 method는 localStorage
, sessionStorage
가 모두 동일하다.
※ MDN : https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage