JavaScript

event, event handler

김꼬알 2023. 6. 29. 17:43

event

  • 웹 브라우저나 사용자가 행하는 어떤 동작

 

마우스 이벤트

  • 마우스를 이용해서 버튼이나 휠 버튼을 조작할 때 발생
종류 설명
click 사용자가 HTML 요소를 클릭할 때 이벤트 발생
dbclick 사용자가 HTML 요소를 더블클릭할 때 이벤트 발생
mousedown 사용자가 요소 위에서 마우스 버튼을 눌렀을 때 이벤트 발생
mousemove 사용자가 요소 위에서 마우스 포인터를 움직일 때 이벤트 발생
mouseover 마우스 포인터가 요소 위로 옮겨질 때 이벤트 발생
mouseout 마우스 포인터가 요소를 벗어날 때 이벤트 발생
mouseup 사용자가 요소 위에 놓인 마우스 버튼에서 손을 뗄 때 이벤트 발생

 

키보드 이벤트

  • 키보드에서 특정 키를 조작할 때 발생
종류 설명
keydown 사용자가 키를 누르는 동안 이벤트 발생
keypress 사용자가 키를 눌렀을 때 이벤트 발생
keyup 사용자가 키에서 손을 뗄 때 이벤트 발생

 

문서 로딩 이벤트

  • 서버에서 웹 문서를 가져오거나 문서를 위아래로 스크롤하는 등 웹 문서를 브라우저 창에 보여주는 것과 관련된 이벤트
종류 설명
abort 문서가 완전히 로딩되기 전에 불러오기를 멈췄을 때 이벤트가 발생
error 문서가 정확히 로딩되지 않았을 때 이벤트가 발생
load 문서 로딩이 끝나면 이벤트가 발생
resize 문서 화면 크기가 바뀌었을 때 이벤트가 발생
scroll 문서 화면이 스크롤되었을 때 이벤트가 발생
unload 문서에서 벗어날 때 이벤트 발생

 

폼 이벤트

  • 로그인, 검색, 게시판, 설문 조사처럼 사용자가 입력하는 모든 요소를 가리키는데, 폼 요소에 내용을 입력하면서 발생하는 이벤트
종류 설명
blur 폼 요소에 포커스를 잃었을 때 이벤트 발생
change 목록이나 체크 상태 등이 변경되면 이벤트 발생
<input>, <select>, <textarea> 태그에서 사용
focus 폼 요소에 포커스가 놓였을 때 이벤트 발생
<label>, <select>, <textarea>, <button> 태그에서 사용
reset 폼이 리셋되었을 때 이벤트 발생
submit submit 버튼을 클릭했을 때 이벤트 발생

 

 

event handler

  • 웹 문서에서 이벤트가 발생하면 처리하는 함수를 이벤트 처리기 또는 이벤트 핸들러 라고 함
  • 가장 기본적인 방법은 이벤트가 발생한 HTML 태그에 이벤트 처리기를 직접 연결하는 것
// 기본형

<태그 on이벤트명 = "함수명>
// 버튼을 클릭하면 알림 창 표시하기

<body>
  <ul>
    <li><a href = "#" onclick = "alert('버튼을 클릭했습니다.')">Green</a></li>
    <li><a href = "#" onclick = "alert('버튼을 클릭했습니다.')">Orange</a></li>
    <li><a href = "#" onclick = "alert('버튼을 클릭했습니다.')">Purple</a></li>
  </ul>
  ...

 

 

DOM을 이용한 이벤트 처리기

  • DOM을 사용하면 자바스크립트가 주인이 되어 HTML의 요소를 가져와서 이벤트 처리기를 연결함
// 기본형

웹 요소.onclick = 함수;
// 버튼 클릭해서 글자색 바꾸기

<body>
  <button id ="change">글자색 바꾸기</button>
  <p>Reprehenderit ... laborum quis.</p>
// (...생략...)

// 방법 1: 웹 요소를 변수로 지정 & 미리 만든 함수 사용
let changeBttn = document.querySelector('#change');
changeBttn.onclick = changeColor;    // 함수 이름 뒤에 괄호가 없음

function changeColor() {
  document.querySelector("p").style.color = "#f00";
}

// 방법 2: 웹 요소를 따로 변수로 만들지 않고 사용
document.querySelector(#change).onclick = changeColor;

function changeColor() {
  document.querySelector("p").style.color = "#f00";
}

// 방법 3: 함수를 직접 선언
ducument.querySelector("#change").onclick = function () {
  document.querySelector("p").style.color = "#f00";
}

'JavaScript' 카테고리의 다른 글

[구름톤 챌린지] 1주차_완벽한 햄버거 만들기  (0) 2023.08.18
[구름톤 챌린지] 1주차_프로젝트 매니징  (0) 2023.08.17
async & await  (0) 2023.06.26
promise  (0) 2023.06.23
callback  (0) 2023.06.22