[javascript] Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 길이 측정하기

복사 기능은 웹 페이지에서 자주 사용되는 기능 중 하나입니다. 사용자가 내용을 복사하면, 이를 이용하여 글자 수를 확인하거나 특정 조건에 따라 동적으로 처리할 수 있습니다.

이번 글에서는 Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 길이를 측정하는 방법을 알아보겠습니다.

Clipboard.js란?

Clipboard.js는 클립 보드 작업을 쉽게 할 수 있도록 도와주는 라이브러리입니다. 이 라이브러리를 사용하면 브라우저의 클립 보드에 텍스트, 이미지, HTML 등을 복사하고 붙여넣기할 수 있습니다.

실습 준비하기

먼저, Clipboard.js를 다운로드하여 HTML 페이지에 포함해야 합니다. 다음과 같이 <script> 태그를 사용하여 클립 보드 스크립트를 가져올 수 있습니다.

<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.8/clipboard.min.js"></script>

그리고 복사 버튼과 길이를 표시할 <span> 태그를 포함하는 HTML 요소가 필요합니다.

<button id="copyButton" data-clipboard-target="#copyTarget">복사</button>

<p id="copyTarget">복사할 내용</p>

<span id="length">0</span> 글자

길이 측정하기

이제 Clipboard.js를 사용하여 복사 버튼을 클릭할 때마다 복사한 내용의 길이를 측정하는 기능을 구현해보겠습니다. JavaScript 코드는 다음과 같습니다.

var clipboard = new ClipboardJS('#copyButton');

clipboard.on('success', function(e) {
  var length = e.text.length;
  document.getElementById('length').textContent = length;
});

clipboard.on('error', function(e) {
  console.error('Failed to copy: ', e.text);
});

여기서는 ClipboardJS 객체를 생성하고 복사 버튼의 id를 전달하여 이벤트를 할당합니다. 성공적으로 복사가 되면 success 이벤트 핸들러가 호출되며, 복사한 내용의 길이를 계산하여 길이를 표시하는 <span> 요소를 업데이트합니다. 복사에 실패하면 error 이벤트 핸들러가 호출되고 콘솔에 에러 메시지가 출력됩니다.

실행 확인하기

이제 실제로 위의 코드를 HTML 페이지에 추가하고 웹 브라우저에서 확인해보세요. 복사 버튼을 클릭하면 복사한 내용의 길이가 표시되는 것을 확인할 수 있습니다.

참고 자료: