这是我的代码,当用户单击此按钮时:
<button id="button1">Click to copy</button>
如何复制此 div 内的文本?
<div id="div1">Text To Copy</div>
最佳答案
我尝试了上面提出的解决方案。但它还不够跨浏览器。我确实需要 ie11 才能工作。 经过尝试后我得到:
<html>
<body>
<div id="a" onclick="copyDivToClipboard()"> Click to copy </div>
<script>
function copyDivToClipboard() {
var range = document.createRange();
range.selectNode(document.getElementById("a"));
window.getSelection().removeAllRanges(); // clear current selection
window.getSelection().addRange(range); // to select text
document.execCommand("copy");
window.getSelection().removeAllRanges();// to deselect
}
</script>
</body>
</html>
使用 Firefox 64、Chrome 71、Opera 57、ie11(11.472.17134.0)、edge(EdgeHTML 17.17134) 进行测试
2019 年 3 月 27 日更新。
出于某种原因,document.createRange()
以前无法在 ie11 上工作。但现在正确返回一个 Range 对象。因此,最好使用它,而不是 document.getSelection().getRangeAt(0)
。
关于javascript - 如何将文本从 div 复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36639681/