혼자 적어보는 노트

[React] 활성화된 input focus 해제 / blur() 본문

React

[React] 활성화된 input focus 해제 / blur()

jinist 2022. 1. 17. 13:25

input을 핸들링 하면서 엔터 입력 등

어떠한 이벤트 이후 데이터 처리가 되면서 focus를 해제하고 싶을 때가 있다.

 

 

1. event.target을 이용한 fucus해제

const onKeyDown = (event) => {
    if (event.key === "Enter") {
      // 데이터 처리 코드 작성
      event.target.blur();
    }
  };
  
  return (
      <>
          <input
            onKeyDown={onKeyDown}
          />
      </>
  )

 

 

20 useRef를 이용한 focus해제

const inputRef = useRef();

const onKeyDown = (event) => {
    if (event.key === "Enter") {
      // 데이터 처리 코드 작성
      inputRef.current.blur();
    }
  };
  
  return (
      <>
          <input
            ref={inputRef}
            onKeyDown={onKeyDown}
          />
      </>
  )

 

 

 

 

 

3. 전역객체인 document에서 강제로 blur()함수를 호출

document.activeElement.blur();

모바일의 경우 키보드 영역도 사라진다.

Comments