이벤트
어떠한 사건
사이트 이용자가 어떠한 버튼을 눌렀을때 웹 페이지의 반응
이벤트가 발생하는 시점이나 순서를 사전에 인지하는 것은 거의 불가능
-> 이벤트가 발생하면 누군가 감지할수 있어야하고 대응하고 처리해야함
이벤트는 일반적으로 함수에 연결되며 그 함수는 이벤트 발생전까지는
실행되지 않다가 이벤트가 발생하면 실행한다
이러한 함수를 이벤트 핸들러 라고 부른다
이벤트 처리
브라우저는 단일 쓰레드에서 이벤트 드리븐 형식으로 동작
- 단일쓰레드 : 하나의 작업 (하나의 이벤트만 처리할수 있음)
하지만 마치 여러개의 이벤트가 동시에 처리하는 것이 가능한 것처럼 느껴진다
(이벤트 루프를 통해 자바스크립트의 동시성 이라는 것을 지원하는 것)
이벤트 종류
- ui event
- load : 웹 페이지 로드 완료됬을떄
- unload : 웹페이지 언로드시(주로 새로운 페이지 요청시)
- error : 브라우저가 JS 오류를 만났거나 요청한 내용이 없을경우
- resize : 웹페이지 창 크기 조절시
- scroll : 사용자가 페이지를 위 아래로 스크롤할떄
- select : 텍스트를 선택했을때
- keyboard event
- keydown : 키를 누르고 있을떄
- key up : 누르고 있던 키를 땔 때
- keypress : 키를 누르고 땠을때
- mouse event
- click : 마우스 클릭
- abclick : 더블 클릭
- mousedown : 마우스 버튼을 누르고 있을떄
- mouseup : 누르고 있던 마우스 버튼을 땔때
- mousemove : 마우스 움직일때
- mouseover : 요소위로 움직였을때
- mouseout : 마우스를 요소 밖으로 움직였을때
- focus event
- focus : 요소가 포커스를 얻었을때
- blur : 요소가 포커스를 잃었을때
- form evet
- input : input, textarea 요소값이 변경되었을떄
- change : 셀렉트박스, 체크박스, 라디오 버튼 상태 변경시
- submit : submit 버튼 누를떄
- clipboard event
- cut : 컨텐츠 잘라내기
- copy : 컨텐츠 복사
- paste : 컨텐츠 붙여넣기