[javascript] Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 강조 표시하기

개발자들은 종종 웹페이지에서 특정 텍스트나 요소를 복사할 때를 다루어야 할 때가 있습니다. Clipboard.js는 이를 쉽게 처리할 수 있도록 도와주는 유용한 라이브러리입니다. 이 블로그 포스트에서는 Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 강조 표시를 어떻게 할 수 있는지 알아보겠습니다.

Clipboard.js란?

Clipboard.js는 1.6KB 크기의 경량화된 JavaScript 라이브러리로, 웹페이지에서 텍스트를 클립보드에 복사하는 작업을 쉽게 처리할 수 있도록 도와줍니다. 복사 동작을 위한 필요한 코드를 직접 작성하는 번거로움을 줄여주고, 모든 브라우저에서 일관된 결과를 제공합니다.

설치

Clipboard.js를 사용하기 위해서는 먼저 해당 라이브러리를 웹페이지에 추가해야 합니다. 다음과 같은 방법으로 Clipboard.js를 설치할 수 있습니다.

CDN을 사용하는 방법

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

Npm을 사용하는 방법

npm install clipboard --save

사용법

Clipboard.js를 설치했다면, 이제 웹페이지에서 원하는 요소를 복사할 수 있는 버튼이나 링크를 만들 수 있습니다. 복사를 행하고자 하는 요소에 data-clipboard-text 속성을 추가하고, 이 속성의 값으로 복사하고자 하는 텍스트를 설정합니다.

예를 들어, 다음과 같이 버튼을 만들고 클릭 시 버튼에 지정된 텍스트가 클립보드에 복사되도록 할 수 있습니다.

<button class="btn" data-clipboard-text="복사할 텍스트">복사하기</button>

브라우저에서는 data-clipboard-text 속성을 포함한 요소를 복사 기능이 있는 버튼으로 인식하며, 클릭 시 해당 텍스트를 클립보드에 복사합니다.

강조 표시하기

Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 강조 표시를 하려면, 복사가 성공했을 때의 이벤트 핸들러를 이용하여 스타일을 적용하면 됩니다.

예를 들어, 다음과 같이 Clipboard.js의 success 이벤트를 이용하여 복사가 성공했을 때 텍스트를 강조 표시할 수 있습니다.

var clipboard = new ClipboardJS('.btn');

clipboard.on('success', function(e) {
  e.trigger.style.fontWeight = 'bold';
});

위의 예제에서는 '.btn' 클래스를 가진 요소를 클릭하여 복사할 때 성공 이벤트가 발생하면 해당 요소의 텍스트에 font-weight 속성에 bold 값을 주어 강조 표시하는 방식으로 동작합니다.

결론

Clipboard.js는 웹페이지에서 복사 작업을 손쉽게 처리할 수 있도록 도와주는 라이브러리입니다. 이를 이용하여 웹페이지에서 복사한 내용을 강조 표시하는 것은 사용자 경험을 향상시키고, 사용자가 실제로 복사한 내용을 재인식할 수 있도록 도와줍니다. Clipboard.js를 사용하여 웹페이지에서 복사한 내용의 강조 표시를 구현해 보세요.

참고자료