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

HTML 페이지에서 텍스트 선택을 해제하는 JavaScript 방법

HTML 페이지에서 이미 선택된 텍스트의 선택 상태를 해제(취소)해야 하는 경우가 있습니다. 이럴 때 JavaScript의 window.getSelection() 메서드와 removeAllRanges() 메서드를 함께 사용하면 간단하게 처리할 수 있습니다.

window.getSelection()은 현재 문서에서 사용자가 선택한 텍스트 범위 정보를 담고 있는 Selection 객체를 반환합니다. 여기에 removeAllRanges()를 호출하면 모든 선택 영역(range)이 제거되어 페이지 전체의 텍스트 선택이 해제됩니다.

예제 코드

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>문서</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result {
      font-size: 20px;
      font-weight: 500;
      color: rebeccapurple;
   }
</style>
</head>
<body>
<h1>HTML 페이지에서 텍스트 선택 해제하기</h1>
<div style="color: green;" class="result">
div 요소 안에 있는 텍스트입니다.
</div>
<button class="Btn">여기를 클릭</button>
<h3>위 버튼을 클릭하면 이 페이지의 모든 텍스트 선택이 해제됩니다.</h3>
<script>
   let resEle = document.querySelector(".result");
   document.querySelector(".Btn").addEventListener("click", () => {
      window.getSelection().removeAllRanges();
   });
</script>
</body>
</html>

실행 결과

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

HTML 페이지에서 텍스트 선택을 해제하는 JavaScript 방법

먼저 페이지에서 일부 텍스트를 마우스로 드래그하여 선택합니다.

HTML 페이지에서 텍스트 선택을 해제하는 JavaScript 방법

그런 다음 '여기를 클릭' 버튼을 누르면 다음과 같이 선택된 텍스트가 즉시 해제됩니다.

HTML 페이지에서 텍스트 선택을 해제하는 JavaScript 방법

이처럼 window.getSelection().removeAllRanges() 한 줄만으로도 버튼 클릭 시점에 페이지의 모든 텍스트 선택을 손쉽게 초기화할 수 있습니다. 텍스트 복사 방지 기능이나 UI 인터랙션 초기화 등 다양한 상황에서 유용하게 활용할 수 있습니다.