LoginSignup
4
3

More than 5 years have passed since last update.

JSで任意のテキストをクリップボードにコピー

Last updated at Posted at 2019-01-28

ググってもダミーのtextareaを使う方法ばかりが引っかかったのでメモ兼
ES5使っていいかどうか知らない環境でとりあえずコードだけ書くという奇特なシチュエーションで作ったものなので、ES5未満
よく調べてないけど標準的なAPIしか使っていないのでどのブラウザでも動くはず。少なくともモダンブラウザでは。

var copyText = 'コピーさせたいテキスト';
document.addEventListener('copy', function handler(clipboardEvent) {
  clipboardEvent.preventDefault();
  clipboardEvent.clipboardData.setData('text/plain', copyText);
  document.removeEventListener('copy', handler); // 毎度消さないと他の文字列がコピーできなくなる
});
if (document.execCommand('copy')) {
  alert('コピーしました:\n' + copyText);
} else {
  alert('コピー失敗:\n' + copyText);
}

これをボタンのオンクリックイベント等に入れておけば動くと思います

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3