我正在尝试在网页上实现“复制到剪贴板”按钮。以下是我写的代码
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<p id="p1">Text1</p>
<p id="p2">Text2</p>
<button onclick="copyToClipboard('#p1')">Copy Text1</button>
<button onclick="copyToClipboard('#p2')">Copy Text2</button>
<br/><br/>
<input type="text" placeholder="Paste here for test" />
然而,这似乎不适用于 IE 9,11 和 Safari 。我可以使用任何更改/替代实现在我的网页上实现此功能。
答案 0 :(得分:2)
您可以检查我使用它,您可以通过按下按钮复制文本并将其粘贴到任何测试位置..
$('#btnCopytext').click(function () {
var element = document.getElementById('p1');
if (document.body.createTextRange) { // ie
var range = document.body.createTextRange();
range.moveToElementText(element);
range.select();
document.execCommand("Copy");
setInterval(function () { selection.removeAllRanges(); }, 1000);
} else if (window.getSelection) { // moz, opera, webkit
var selection = window.getSelection();
var range = document.createRange();
range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand("Copy");
setInterval(function () { selection.removeAllRanges(); }, 1000);
}
});
<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<p id="p1">Text1</p>
<button id='btnCopytext'>Copy Text1</button>
</html>
答案 1 :(得分:0)
不确定Safari,但在IE上你可以这样做:
window.clipboardData.setData('Text', 'text you want to copy goes here');
我希望它有所帮助。干杯