
| 종류 | 설명 |
|---|---|
| click | 마우스로 지정한 요소를 클릭했을 때 발생 |
| dblclick | 더블클릭 했을 때 발생 |
| mouseover | 마우스가 지정한 요소 위로 올라갔을 때 |
| mouseout | 마우스가 지정한 요소를 벗어났을 때 발생 |
| mousemove | 마우스가 지정한 요소 영역에서 움직일 때 발생 |
| 구분 | 종류 | 설명 |
|---|---|---|
| 마우스 이벤트 | offsetX, offsetY | 현재 요소를 기준으로 마우스 이벤트가 발생한 x, y 좌표 |
| 마우스 이벤트 | clientX, clientY | 브라우저 기준 마우스 이벤트 발생 x, y 좌표(스크롤바 이동 너비 무시) |
| 마우스 이벤트 | pageX, pageY | 브라우저 기준 마우스 이벤트 발생 x, y 좌표(스크롤바 이동 너비 포함) |
| 마우스 이벤트 | screenX, screenY | 화면 모니터 기준으로 이벤트가 발생한 x, y 좌표 |
| 키보드 이벤트 | key | 사용자가 누른 키 값 (예: a, A, Shift) |
| 키보드 이벤트 | code | 물리적인 키의 위치 (예: KeyA, keyA, ShiftLeft) |
| 키보드 이벤트 | altKey, ctrlKey, shiftKey | 각각 alt, ctrl, shift 키가 눌렸으면 true |
| 전체 | currentTarget, target | 이벤트 리스너가 등록된 요소, 실제 이벤트가 발생한 요소 |


| 종류 | 설명 |
|---|---|
| keydown | 지정한 요소에서 키보드가 눌렸을 때 발생 - 키 입력 감지, 키보드 단축키 구현 등에 사용 |
| keyup | 지정한 요소에서 눌린 키보드를 떼었을 때 발생 - 키 입력 완료 감지, 입력 필드에서의 최종 입력 처리 등에 사용 |
| 구분 | 종류 | 설명 |
|---|---|---|
| 키보드 이벤트 | key | 사용자가 누른 키 값 a,A,Shift |
| 키보드 이벤트 | code | 물리적인 키의 위치 KeyA,keyA,ShiftLeft |
| 키보드 이벤트 | repeat | 키가 반복 눌림 상태인지 여부를 나타내는 boolean 값 |
| 키보드 이벤트 | altKey,ctrlKey,shiftKey | 각각 alt,ctrl,shift 키가 눌렸으면 true |
| 종류 | 설명 |
|---|---|
| input | 키 입력,붙여넣기 등 사용자가 입력 필드 내용을 수정할 때 발생 값을 수정할 때 실시간으로 이벤트 발생 |
| change | 입력 필드 내용이 변경되고 엔터를 입력했거나 포커스를 잃었을 때 발생 |
| focus | 해당 요소에 포커스가 설정될 때 발생 |
| blur | 값 변경과 무관하게 포커스를 잃었을 때 발생 |
| select | 사용자가 텍스트를 선택할 때 발생 |
| invalid | 폼 입력 값이 invalid 할 때 발생 |
| submit | 폼 요소를 서버로 전송할 때 |
| reset | 폼 요소의 취소 버튼을 클릭할 때 |
| 속성이름 | 설명 | 사용 가능한 값 예시 | 적용 가능한 타입 |
|---|---|---|---|
| required | 입력 필드의 필수 여부를 지정함 | (값 없음) | * |
| minlength | 입력 가능한 최소 문자 수를 지정함 | 정수 | text,password,email,textarea |
| maxlength | 입력 가능한 최대 문자 수를 지정함 | 정수 | text,password,email,textarea |
| min | 입력 가능한 최소 값을 지정함 | 정수 또는 소수 | number,date,time,range |
| max | 입력 가능한 최대 값을 지정함 | 정수 또는 소수 | number,date,time,range |
| step | 숫자 입력 필드의 증가 단위를 지정함 | 정수 또는 소수 | number,range |
| pattern | 입력 값의 정규 표현식 패턴을 지정함 | 문자열 | text,search,email,url |
| 프로퍼티 | 설명 (상태가 true가 되는 경우) | 관련 HTML 속성 | CSS 의사 클래스 |
|---|---|---|---|
| valueMissing | required 속성이 있는데 값이 비어 있는 경우 | required | :invalid |
| typeMismatch | 입력된 형식이 email이나 url 등 지정된 타입과 맞지 않는 경우 | type="email",... | :invalid |
| patternMismatch | 입력값이 설정된 정규 표현식과 일치하지 않는 경우 | pattern | :invalid |
| tooLong | 입력된 문자열 길이가 maxlength보다 긴 경우 | maxlength | :invalid |
| tooShort | 입력된 문자열 길이가 minlength보다 짧은 경우 | minlength | :invalid |
| rangeOverflow | 숫자가 설정된 max 값보다 큰 경우 | max | :invalid,:out-of-range |
| rangeUnderflow | 숫자가 설정된 min 값보다 작은 경우 | min | :invalid,:out-of-range |
| stepMismatch | 입력값이 step으로 나누어 떨어지지 않는 경우 | step | :invalid |
| badInput | 입력을 해석할 수 없는 경우 (예: 숫자 필드에 문자 입력) | type="number" 등 | :invalid |
| customError | setCustomValidity()로 사용자 정의 에러가 설정된 경우 | setCustomValidity() | :invalid |
| valid | 위의 모든 제약 조건을 만족하는 경우 | - | :valid |

| 종류 | 설명 |
|---|---|
| let child=window.open(url,name,[spec]); | url을 name과 spec을 이용해 열고 그 창의 객체를 child 변수에 할당 spec은 top=0,left=0,width=400,height=400 등 설정 top,left는 브라우저 지원 여부가 다름 자식 창에서 부모 창을 참조할 때 window.opener 속성 사용 |
| window_reference.close(); | 특정 창을 닫을 때 |
| window.alert(message); | message를 출력하는 경고창을 띄울 때 |
| window.prompt(text,value); | text의 질문에 대한 응답 창을 띄울 때(value는 기본값) |
| window.confirm(message); | message에 대한 확인/취소 창을 띄울 때 |
| 종류 | 설명 |
|---|---|
| let intervalID=setInterval(func,delay[,param1,param2,...]); | 주기적인 delay를 두고 func를 실행함. 이때 func에는 param1,param2와 같은 파라미터 전달 가능 |
| window.clearInterval(intervalID) | setInterval로 설정된 반복 작업을 중지함 |
| let timeoutID=setTimeout(func,[delay,param1,param2,...]); | delay(기본은 0) 이후 func를 실행함. 이때 func에는 param1,param2와 같은 파라미터 전달 가능 |
| window.clearTimeout(timeoutID) | setTimeout으로 설정된 작업을 중지함 |
| 속성 | 내용 | 속성 | 내용 |
|---|---|---|---|
| screen.width | 화면의 가로 | screen.height | 화면의 세로 |
| screen.availWidth | 작업 표시줄을 제외한 화면의 가로 | screen.availHeight | 작업표시줄을 제외한 화면의 세로 |
| screen.colorDepth | 모니터의 표현 가능한 컬러 bit | - | - |
| 속성 | 내용 | 속성 | 내용 |
|---|---|---|---|
| location.href | 대상 url로 이동 또는 url 반환 | location.replace(url) | url로 현재 페이지를 대체 |
| location.hostname | URL의 hostname 설정 또는 반환 | location.host | URL의 호스트 이름과 포트 반환 |
| location.port | URL의 포트 번호 반환 | location.protocol | URL의 프로토콜 반환 |
| location.search | URL의 쿼리 스트링 반환 | location.reload() | 새로 고침 |
URL의 구성

location.href vs location.replace
| 구분 | location.href | location.replace() |
|---|---|---|
| 기능 | 새로운 페이지로의 이동 | 새로운 페이지로 대체(덮어씀) |
| 형태 | 속성 | 기능 |
| 히스토리 기록 여부 | 기록됨 | 기록되지 않음 |
| 속성 | 내용 | 속성 | 내용 |
|---|---|---|---|
| history.back() | 이전 페이지로 이동 | history.forward() | 다음 방문한 페이지로 이동 |
| history.go(숫자) | -2→2단계 전의 페이지 | history.length | 방문 기록에 저장된 목록의 개수 |

| 속성 | 내용 | 속성 | 내용 |
|---|---|---|---|
| navigator.appCodeName | 브라우저 코드명 | navigator.appName | 브라우저 이름 |
| navigator.appVersion | 브라우저 버전 | navigator.language | 브라우저 언어 |
| navigator.product | 브라우저 엔진 이름 | navigator.platform | 브라우저가 실행되는 운영체제 플랫폼 |
| 함수 | 설명 |
|---|---|
| getCurrentPosition(successCallback,errorCallback,options) | 요청 시 1회 위치 정보 요청 |
| watchPosition(successCallback,errorCallback,options) | 위치가 변경되면 계속해서 새로운 위치 정보 확인하며 작업 ID 반환 |
| clearWatch(id) | 작업 ID에 대한 모니터링 작업 중단 |
| property | 설명 | property | 설명 |
|---|---|---|---|
| coords.latitude | 위도 | coords.longitude | 경도 |
| coords.accuracy | 실제와의 가능 오차(m) | timestamp | 위치 정보를 얻은 시각 |