コピーボタンのサンプル
サンプルテキストをコピーする
HTML
data-copy 属性に、コピーする内容を設定します。(例:サンプルテキスト。このテキストがコピーされます。)
<div class="copy_btn" data-copy="サンプルテキスト。このテキストがコピーされます。">
サンプルテキストをコピーする
</div>
jQuery
ボタンをクリックしたときに、data-copy 属性に設定された値をクリップボードにコピーする関数を実行します。
<script type='text/javascript' src='//code.jquery.com/jquery-1.12.4.min.js'></script>
<script>
jQuery(function($){
// 引数をクリップボードにコピーする関数
function copyTextToClipboard(textVal){
var copyFrom = document.createElement('textarea');
copyFrom.textContent = textVal;
var bodyElm = document.getElementsByTagName('body')[0];
bodyElm.appendChild(copyFrom);
var retVal=false;
if (navigator.userAgent.match(/ipad|ipod|iphone/i)) {
var range = document.createRange();
range.selectNode(copyFrom);
window.getSelection().addRange(range);
retVal = document.execCommand('copy');
} else {
copyFrom.select();
retVal = document.execCommand('copy');
}
bodyElm.removeChild(copyFrom);
return retVal;
}
// クリックしたときの挙動
$('.copy_btn').click(function(){
var copy_content = $(this).data('copy');
var status = copyTextToClipboard(copy_content);
if( status ){ // コピーが成功した時にボタンの表示を変更する
$(this).addClass('copied');
$(this).text('コピーしました。');
}else{ // コピーが出来なかった時にアラートを表示する
alert('このブラウザには対応していません。');
}
});
});
</script>