일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- mock api 사용법
- react 테스트
- TDD방식으로 리액트 테스팅
- react
- nest.js forwardRef
- React 테스트코드
- HTML
- CSS
- FlatList 무한 스크롤
- react jest
- nest.js 순환 종속성
- 첫코딩
- react native 무한스크롤
- React Testing Library
- javascript 테스트
- 첫 코딩
- nest.js circular Dependency
- Testing-library/react
- mock api를 이용한 react 테스트
- 리액트 테스트 코드
- 리액트 테스트
- react testing library 비동기 테스트 사용법
- jest
- 비동기 테스트
- 개발
- 프로젝트 배포하기
- nest.js 순환 참조
- ScrollView 무한 스크롤
- TodoList 테스트 코드
- JavaScript
- Today
- Total
성장을 위한 기록
자바스크립트 이벤트와 처리기 본문
*제 개인적인 정리이기 때문에 다소 설명이 모호할 수 있습니다.
또한 "html,css,자바스크립트 do it" 책에 내용이 다소 포함되어 있습니다.
이벤트와 이벤트 처리기
버튼을 클릭하거나 선택하는 것을 이벤트, 그 이벤트를 실행시키는 함수를 이벤트 처리기라 한다.
이벤트는 다양한 방법으로 발생되게 된다.
마우스 이벤트
종류 | 설명 |
---|---|
click | 사용자가 버튼 요소를 클릭할 때 발생 |
dbclick | 더블클릭할 때 발생 |
mousedown | 사용자가 요소 위에서 마우스 버튼을 눌렀을 때 |
mousemove | 요소 위에서 마우스 포인터를 움직일 때 |
mouseover | 마우스 포인터가 요소 위로 옮겨질 때 |
mouseout | 마우스 포인터가 요서를 내려갈 때 |
mouseup | 마우스 버튼에서 손을 땔 때 |
키보드 이벤트
종류 | 설명 |
---|---|
keydown | 키를 누르고 있는 동안 |
keypress | 키를 눌렀을 때 |
keyup | 키에서 손을 땔 때 |
문서 로딩 이벤트
종류 | 설명 |
---|---|
abort | 문서가 로딩 전 불러오기를 멈췄을 때 |
error | 정확히 로딩되지 않았을 때 |
load | 로딩이 끝났을 때 |
resize | 화면 크기가 변했을 때 |
scroll | 화면이 스크롤 되었을 때 |
unload | 문서를 나갈 때 |
폼 이벤트
종류 | 설명 |
---|---|
blur | 폼 요소에서 포커스를 잃었을 때 |
change | 목록이나 체크 상태가 변했을 때 |
focus | 포커스가 놓였을 때 |
reset | 리셋이 되었을 때 |
submit | submit버튼을 클릭했을 때 |
이 밖에 다양한 이벤트들이 존재한다.
이벤트 처리기
이벤트 처리기는 이벤트가 발생하면 실행하는 함수라고 얘기했다.
이벤트 처리기를 적용하는 방법은 요소에 직접 연결하는 것과 자바스크립트에서 연결하는 방법 두 가지가 있다.
html 태그에 직접 연결
가장 기본적인 방법이자 예전부터 많이 사용하는 방법이다.<태그 on이벤트명 = "함수명">
을 사용한다.
<li><a href="#" onclick= "alert('클릭했습니다')"> button</a></li>
이처럼 태그 요소 안에 on이벤트명을 붙여 이벤트가 발생했을 때 실행할 함수를 연결한다.
기본적으로 제공되는 함수도 연결하지만 명령이 많다면 직접 함수를 선언하여 작성할 수 있다.
자바스크립트에서 연결
html 태그에 직접 연결할 경우 간편하지만 크기가 커질 수록 자바스크립트와 html이 섞여 수정하기 어렵다는 단점이 있다. 자바스크립트에서 연결한다면 소스를 분리할 수 있기 때문에 보기 좋아질 수 있다.
기본형 웹 요소.이벤트 명 = 함수;
를 사용한다.
자바스크립트에서는 웹 요소를 가져올 수 있는 방법이 다양하다. 그 중에 querySelector()함수를 이용해 가져오는 것이 쉽다. 괄호 안에는 클래스나 id 이름 또는 여러 선택자를 작성한다.
<button id="change">button</button>
<p>글자 색을 바꿔보자</p>
<script>
var changeBt = document.querySelector(#change);
changeBt.onclick = changeColor;
function changeColor() {
document.querySelector("p").style.color = "#f00" ;
}</script>
위 소스는 button을 눌렀을 때 changeColor 함수가 실행되어 <p>태그에 글자 색이 변하게 했다.
함수 선언에 방법은 여기서도 적용할 수 있기 때문에
요소를 가져온 값을 변수에 할당할 필요없이 작성할 수 있고,
한 번만 실행한다면 함수를 따로 정의하지 않고 바로 작성 할 수 있다.
'FE (Front End) (구) > javascript' 카테고리의 다른 글
자바스크립트 객체(2) (0) | 2022.02.08 |
---|---|
자바스크립트 객체(1) (0) | 2022.02.08 |
자바스크립트 다양한 함수 식 (0) | 2022.02.05 |
함수의 변수 (0) | 2022.02.05 |
자바스크립트 조건문, 반복문 (0) | 2022.02.04 |