Edited at

JavaScript で選択できないテキストをクリップボードへコピーする方法


クリップボードにコピーする機能のサンプルコード

<html>

<head>
<meta charset="UTF-8">
<script>
document.onselectstart = function() {
return false;
}
function copyTextToClipboard(element) {
var copyTarget = document.getElementById(element);
var copyArea = document.createElement("input");
copyArea.value = copyTarget.textContent;
document.body.appendChild(copyArea);
copyArea.select();
document.execCommand("Copy");
if (!('remove' in Element.prototype)) {
Element.prototype.remove = function () {
if (this.parentNode) {
this.parentNode.removeChild(this);
}
};
}
copyArea.remove();
alert(copyTarget.textContent + "をコピーした。");
}
</script>
</head>
<body>
<span id="copyTarget">テキスト</span>
<button onclick="copyTextToClipboard('copyTarget')">コピー</button>
</body>
</html>


サンプルスナップショット

copyTarget.png