728x90
📍 39일 차 12.17. 금. 프로젝트 4일 차 TLDR
728x90
addEventListener
의event
타입 전달 시on
접두사를 제외하고 사용한다.(예. onchange -> change, onclick -> click, oninput -> input)event
중change
이벤트는 요소가 포커스를 잃을 때까지 이벤트가 실행되지 않고 다른 곳을 클릭하면 이벤트가 트리거 되는 반면,input
이벤트는 요소가 변경될 때마다 이벤트가 트리거 된다.- 자동완성 기능에
addEventListener
를 적용할 때change
와datalist+option
을 사용하면debounce
를 적용하지 않아도 된다. (change 이벤트는 요소의 포커스가 잃을 때 적용되기 때문에 글씨가 입력하는 중간에 이벤트가 발생하지 않는다.) 하지만,UI
수정이 자유롭지 못하다. 반면,input
이벤트에 자동완성 기능을 직접 구현한다면,debounce
로 최적화를 시켜주자(input 이벤트는 입력할 때마다 이벤트가 일어나기 때문)UI
수정은datalist+option
방법보다 비교적 자유롭다. debounce
: 일정 시간 안에 연속적인 이벤트가 발생하면 일정 시간 이후에 한 번만 실행된다. 예를 들어input
값을api
통신할 때trigger
: 일정 시간안에 연속적인 이벤트가 발생하면 일정 시간 내 딱 한 번만 이벤트가 실행되는 기법- 배열의 값을 변경해서 적용할 때는
map
을, 배열을 순회하면서 변수를 뽑아내려고 하면forEach
를 사용하자
반응형
'Frontend > 엘리스 SW 엔지니어 트랙' 카테고리의 다른 글
[ 엘리스 SW 엔지니어 트랙 ] 41일차 TLDR(9주차: 1차 팀 프로젝트) (0) | 2021.12.21 |
---|---|
[ 엘리스 SW 엔지니어 트랙 ] 40일차 TLDR (0) | 2021.12.18 |
[ 엘리스 SW 엔지니어 트랙 ] 38일차 TLDR (0) | 2021.12.16 |
[ 엘리스 SW 엔지니어 트랙 ] 37일차 TLDR (0) | 2021.12.15 |
[ 엘리스 SW 엔지니어 트랙 ] 36일차(8주차: 1차 팀 프로젝트) (1) | 2021.12.14 |
댓글