카
카카오엔터테인먼트FE
November 11, 20211회
setSelectionRange로 검색창 커서 옮기기
간단 소개
setSelectionRange()를 사용하여 검색창 커서 위치를 제어하고, 타이밍 이슈를 setTimeout()으로 해결한 경험을 공유한다.
AI Summary
- setSelectionRange()를 이용한 검색창 커서 이동
setSelectionRange()는 input 또는 textarea 요소에서 특정 영역의 글자를 선택하는 데 사용되며, 커서 위치 변경에도 활용 가능하다.element.setSelectionRange(selectionStart, selectionEnd [, selectionDirection]);형태로 사용하며, 시작/끝 index를 통해 커서 위치를 지정한다.
- 구현 과정 및 문제 해결
- focus 이벤트 시 커서가 클릭 위치에 머무는 문제 발생, 브라우저 기본 동작과 이벤트 실행 순서의 타이밍 이슈 때문이었다.
setTimeout()을 사용하여 focus 이벤트 후 커서 이동 시점을 지연시켜 해결했다. delay를 0으로 설정해도 브라우저 동작 방식으로 인해 의도대로 작동한다.
- 결론 및 활용
setSelectionRange()는 에디터나 form이 많은 프로젝트에서 유용하게 사용될 수 있다.- 입력된 글자 전체를 선택하는
HTMLInputElement.select()메소드도 활용 가능하다.
Next Feeds

Kafka Lag 없는 실시간 데이터 파이프라인을 위한 아키텍처 개선기 - AB180 엔지니어링 베이스 | 기술블로그
Airbridge의 Kafka 데이터 파이프라인 아키텍처 개선 사례: consumer와 application server 분리를 통해 확장성 및 효율성을 향상시키고, 문제점을 해결했습니다.
Kafka아키텍처데이터 파이프라인gRPCService Discovery
2021. 11. 10.
AB180
React Children 과 친해지기
React Children을 효과적으로 다루기 위한 React.Children 유틸리티 분석 및 활용법, 그리고 한계점과 대안을 제시합니다.
React ChildrenReact.Children.toArray()합성렌더링 최적화react-keyed-flatten-children
2021. 11. 4.
카카오엔터테인먼트FE
React Children 과 친해지기
React Children을 효과적으로 다루기 위한 React.Children 유틸리티 활용법과 한계를 알아보고, 향후 대체 가능성에 대해 설명합니다.
React ChildrenReact.Children.toArray()합성opaque data structure유지보수 모드
2021. 11. 4.
카카오엔터테인먼트FE

버즈빌 백엔드 기술 스택을 소개합니다
버즈빌의 백엔드 기술 스택은 Python, Go, gRPC, Kubernetes, Datadog 등을 활용하여 효율적인 광고 시스템을 구축하고 운영한다.
백엔드마이크로서비스gRPCKubernetesDatadog
2021. 10. 30.
버즈빌
타입스크립트 꿀팁
타입스크립트 사용 시 Enum 대신 Union Type, Index Signature 대신 Mapped Type을 사용하고, 외부 패키지 타입 치환 및 타입 가드를 활용하여 효율성을 높이는 팁을 제공합니다.
타입스크립트enumunion typemapped type타입 가드
2021. 10. 28.
카카오엔터테인먼트FE
타입스크립트 꿀팁
타입스크립트 사용 시 enum 대신 union type, index signature 대신 mapped type을 사용하고, 외부 패키지 타입 치환 및 타입 가드를 활용하여 효율성을 높이는 팁을 제공합니다.
typescriptenumunion typemapped typetype guard
2021. 10. 28.
카카오엔터테인먼트FE