[자바스크립트] 입력 창 안의 텍스트 클립보드 복사 기능 구현하기

 입력 창 안의 텍스트를 사용자가 클립보드에 복사할 수 있게 하는 기능은 매우 유용합니다. 가장 대표적인 목적을 예로 들자면, 자신의 웹사이트 이용자에게 웹사이트 공유를 부탁하며 링크를 편하게 복사할 수 있도록 해줄 수도 있습니다.


 제가 만든 웹사이트의 경우, 사용자가 직접 입력 창을 필요한 문자로 채우고 이를 복사해서 필요한 곳에 사용할 수 있게 하였습니다. 아래 캡쳐 화면을 보시면 이해가 쉬울 것입니다. 나열된 문자 중 필요한 문자를 클릭하면 상단의 입력 창에 모여서 글 복사 버튼을 누르면 알림이 뜨는 방식입니다.


포스팅 내에 입력 창과 이 입력 창 안의 텍스트를 복사할 수 있도록 하는 버튼을 직접 구현해 보겠습니다. 코드는 그 아래에 적어 놓을테니 마음에 드신다면 가져 가서 쓰시면 되겠습니다.

복사 버튼을 활용하는 데에는 대표적으로 두 가지 경우가 있을 것 같습니다. 입력 창이 비어져 있어서 웹 사용자가 직접 입력 창을 채우고 복사해 가는 경우, 그리고 개발자가 미리 입력 창에 원하는 텍스트를 채워 놓고, 사용자는 이 텍스트를 그대로 복사해 가는 경우.


전자의 경우를 먼저 알아 보겠습니다.






입력 창 안에 원하는 텍스트를 직접 입력하고 글 복사 버튼을 클릭해 보세요. 버튼 안의 텍스트도 직접 정할 수 있습니다.


위 기능의 코드는 아래와 같습니다.

.html 파일

<input id="something" name="Subject" size="40" type="text" /><br /><br /><button onclick="myFunction()">

.js 파일

function myFunction() {

    var copyText = document.getElementById("something");

    copyText.select();

    copyText.setSelectionRange(0, 99999); 

    document.execCommand("copy");

    alert("클립보드에 복사되었습니다: " + copyText.value);

  }


SelectionRange는 모바일 이용자를 위한 코드입니다.


이번에는 후자의 경우 즉, 개발자가 입력 창에 텍스트를 먼저 채워 놀은 경우를 알아 보겠습니다.






어쩔수 블로그는 제 블로그의 이름입니다.


위 기능을 구현한 코드는 기존 코드에 value 값만 추가하면 됩니다.

script는 똑같으므로, html이 변형된 코드만 적겠습니다.


<input id="something" name="Subject" size="40" type="text" value="어쩔수 블로그" /><br /><br /><button onclick="myFunction()">


Comments

Popular posts from this blog

재밌는 성향 테스트 소개 - 나와 비슷한 위인 찾기 (심리/성향 테스트)

구글 블로그스팟에 <쿠팡파트너스> '다이나믹 배너' 삽입하기

구글 블로그 스팟에 카카오 애드핏 삽입하는 방법