[JS] 이벤트 처리
이벤트란 프로그램이 겪는 어떠한 사건을 말합니다. 웹페이지에게는 사용자의 클릭, 마우스 오버, 페이지 로딩 전후 등의 상황에 해당합니다. Javascript는 이러한 이벤트 상황을 감지하고 적절한 대응을 할 수 있는 코드를 구현할 수 있습니다.
#01. 이벤트의 정의
프로그램이 겪는 어떠한 사건.
- 사용자의 클릭, 마우스 오버
- 페이지 로딩 직후, 페이지 종료 직전
자바스크립트가 제공하는 브라우저 관련 기능 안에 이미 다양한 이벤트를 감지하는 기능이 구현되어 내장 기능으로 개발자에게 제공된다.
#02. 이벤트를 처리하는 방법
1) 이벤트 리스너
어떤 이벤트가 발생하기를 기다리고 있다가 이벤트 발생시 연결된 함수를 호출해 주는 기능.
이벤트를 감지하는 것은 Javascript 안에 이미 내장되어 있지만 어떤 이벤트가 발생했을 수행할 동작은 웹 페이지마다 다를 수 밖에 없으므로 미리 구현해 놓을 수 없다. (페이지마다 개별 구현이 필요함)
이벤트를 감지하는 기능이 수행할 동작을 콜백함수로 요구한다.
객체.addEventListener('이벤트이름', 콜백함수);
2) 이벤트 핸들러
HTML 태그의 속성 형태로 존재하는, 이벤트 발생시 실행할 자바스크립트 코드 영역
Javascript가 고도화 됨에 따라 HTML과 Javascript 코드를 분리하는 경향이 생기면서 이벤트 핸들러는 거의 사용되지 않는 추세.
<태그이름 on이벤트이름="...JS코드영역..."></태그이름>
#03. Javascript 이벤트 종류
1) 마우스관련
자주 사용되는 이벤트만 이번 단원에서 정리
이벤트 | 이벤트 핸들러 | 설 명 |
---|---|---|
click | OnClick | 대상을 클릭했을 경우 |
dblclick | OnDblClick | 대상을 더블클릭했을 경우 |
mousedown | OnMouseDown | 마우스 버튼을 누르고 있는 동안 |
mouseup | OnMouseUp | 마우스 버튼을 누르고 있다가 땐 경우 |
mousemove | OnMouseMove | 마우스를 움직였을 경우 |
mouseout | OnMouseOut | 대상에서 마우스 포인터가 벗어났을 경우 |
mouseover | OnMouseOver | 대상에 마우스 포인터가 위치했을 경우 |
dragdrop | OnDragDrop | 대상을 클릭한 상태에서 이동했을 경우 |
2) 키보드 관련
자주 사용되는 이벤트만 이번 단원에서 정리
이벤트 | 이벤트 핸들러 | 설 명 |
---|---|---|
keydown | OnKeyDown | 키가 눌러져 있는 동안 반복 실행된다. |
keyup | OnKeyUp | 키를 눌렀다가 놓았을 경우 |
keyprss | OnKeyPress | 화면에 출력되는 키가 눌러질 경우 (한글동작안함) |
3) form 요소 관련
20단원-Form요소에서 정리함
이벤트 | 이벤트 핸들러 | 설 명 |
---|---|---|
submit | OnSumit | 입력 양식을 서버로 보냈을 경우 (submit버튼을 누른 경우) |
change | OnChange | 대상에 입력되어 있는 값이 바뀌었을 경우. 입력상자,체크박스,라디오,드롭다운에 적용 |
blur | OnBlur | 대상에서 포커스가 빠져나간 경우 |
focus | OnFocus | 대상에 포커스가 들어 왔을 경우 |
reset | OnReset | 대상을 재시작 시켰을 경우(주로 form) |
select | OnSelect | 입력 양식의 한 필드를 선택했을 경우 |
4) 브라우저 관련
자주 사용되는 이벤트만 이번 단원에서 정리
이벤트 | 이벤트 핸들러 | 설 명 |
---|---|---|
abort | OnAbort | 이미지를 읽다가 중단했을 경우 |
error | OnError | 에러가 발생했을 경우 |
load | OnLoad | 대상을 열었을 경우 (주로 페이지 로딩 직후를 의미) |
move | OnMove | 윈도우나 프레임을 움직였을 경우 |
resize | OnResize | 윈도우나 프레임의 크기가 변경했을 경우 |
unload | OnUnload | 대상을 종료했을 경우 |
5) 트랜지션 관련
이벤트 | 이벤트 핸들러 | 설 명 |
---|---|---|
transitionrun | OnTransitionRun | 트랜지션이 동작하는 동안 |
transitionstart | OnTransitionStart | 트랜지션이 시작된 경우 |
transitioncancel | OnTransitionCancel | 트랜지션이 취소된 경우 |
transitionend | OnTransitionEnd | 트랜지션이 종료된 경우 |