MENU

【iphone,PC対応】クリックで好きな要素をコピーする方法 – jQuery

Jquery

みなさんこんにちわイチハチブログです。

今回は、jQueryを使用して、クリックするとクリップボードにコピーできるボタンを実装しましたのでメモ日記になります。

まずデモごご覧ください。

デモページ

コピペで使用していただいてOKです!

※今回の記事はこちらのページを参考にさせていただきました。

JavaScriptでクリップボードにコピー(Chrome/Firefox/Safari10〜/IE9〜) - yuw27b’s blog
※2022/4/19追記:ここで使っている仕様は古くなり、非推奨になっているため、新しい記事を書きました。そちらを参照してください。 「クリップボードにコピー」はJavaScriptのみでは不可能だと、昔に思い込んだままだったのですが、HTMLの各種APIとJavaScriptを組み合わせることで、ほとんどのブラウザで...

では、早速実装していきます!

スポンサーリンク

HTMLコード

HTMLのソースコードは

  1. <div class="block">
  2. <p id="copyTarget">こちらをコピーします</p>
  3. <span id="copyBtn">コピー</span>
  4. </div>

見て分かるように、「コピーをしたいテキストのエリア」と「コピーをおこなうためのボタン」の2つの要素があるだけです。

jQueryコード

次に、jquery の記述になります。
jQueryを使用するので、jqueryを読み込んでいない場合は、こちらを先に読み込む必要があります。

  1. <script src="https://code.jquery.com/jquery-3.3.1.js"></script>

そして下記のコードをコピペしてください。

  1. <script>
  2. function copyText () {
  3. var $target = document.querySelector('#copyTarget');
  4. if (!$target) {
  5. return false;
  6. }
  7. var range = document.createRange();
  8. range.selectNode($target);
  9. window.getSelection().removeAllRanges();
  10. window.getSelection().addRange(range);
  11. document.execCommand('copy');
  12. return false;
  13. }
  14. document.querySelector('#copyBtn').addEventListener('click', copyText, false);
  15. </script>

以上になります。
あとは、お好きなようなCSSを追加すればあっという間に完成です!

まとめ

コピペで実質的に2分で対応が可能になると思います。
もし同じような機能を実装したい場合は、是非、ご利用ください。

 

コメント