Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트 focus() 메서드 – 요소에 포커스 설정하는 방법

자바스크립트 focus() 메서드란?

자바스크립트의 focus() 메서드는 해당 요소가 포커스를 받을 수 있는 경우에만 그 요소에 포커스를 설정하는 데 사용됩니다. 예를 들어, 텍스트 입력 필드(input), 버튼(button), 링크(a)처럼 사용자 입력을 받을 수 있는 요소에 포커스를 이동시킬 때 활용됩니다.

이 메서드는 폼 자동 완성, 접근성 향상, 사용자 경험 개선 등 다양한 상황에서 유용하게 쓰입니다.

focus() 메서드 기본 문법

element.focus();

선택적으로 포커스 옵션 객체를 전달할 수도 있습니다.

element.focus({ preventScroll: true }); // 포커스 시 스크롤 이동 방지

자바스크립트 focus() 메서드 예제 코드

다음은 버튼을 클릭하면 텍스트 입력 필드에 포커스가 설정되는 간단한 예제입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScript focus()</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .sample {
        font-size: 18px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>JavaScript focus()</h1>
<input type="text" class="sample">
<button class="Btn">CLICK HERE</button>
<h3>
위의 버튼을 클릭하면 입력 필드에 포커스가 설정됩니다.
</h3>
<script>
    let sampleEle = document.querySelector(".sample");
    document.querySelector(".Btn").addEventListener("click", () => {
        sampleEle.focus();
    });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 나타납니다.

자바스크립트 focus() 메서드 – 요소에 포커스 설정하는 방법

“CLICK HERE” 버튼을 클릭하면 텍스트 입력 필드에 커서가 자동으로 위치하며, 포커스 상태임을 확인할 수 있습니다.

자바스크립트 focus() 메서드 – 요소에 포커스 설정하는 방법

정리

focus() 메서드는 요소가 포커스 가능(focusable)한 경우에만 동작한다는 점을 기억하세요. div나 span처럼 기본적으로 포커스를 받을 수 없는 요소에는 tabindex 속성을 추가해야 focus()가 정상적으로 작동합니다. 또한 반대로 포커스를 제거하고 싶을 때는 blur() 메서드를 사용하면 됩니다.