这是用户点击此按钮时的代码:
<button id="button1">Click to copy</button>
如何复制此div中的文本?
<div id="div1">Text To Copy</div>
如果要复制多个项目,并且每个项目都有单独的“复制到剪贴板”按钮,则接受的答案不起作用。单击一个按钮后,其他按钮将不起作用。
为了让它们正常工作,我在accepted answer的函数中添加了一些代码,以便在执行新的选择之前清除文本选择:
function CopyToClipboard(containerid) {
if (window.getSelection) {
if (window.getSelection().empty) { // Chrome
window.getSelection().empty();
} else if (window.getSelection().removeAllRanges) { // Firefox
window.getSelection().removeAllRanges();
}
} else if (document.selection) { // IE?
document.selection.empty();
}
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(containerid));
range.select().createTextRange();
document.execCommand("copy");
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
document.execCommand("copy");
}
}
这两个例子都很有魅力:)
>
function CopyToClipboard(containerid) {
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(document.getElementById(containerid));
range.select().createTextRange();
document.execCommand("copy");
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(document.getElementById(containerid));
window.getSelection().addRange(range);
document.execCommand("copy");
alert("Text has been copied, now paste in the text-area")
}
}
<button id="button1" onclick="CopyToClipboard('div1')">Click to copy</button>
<br /><br />
<div id="div1">Text To Copy </div>
<br />
<textarea placeholder="Press ctrl+v to Paste the copied text" rows="5" cols="20"></textarea>
我尝试了上面提出的解决方案。但这还不够跨浏览器。我真的需要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.get选择(). getRangeAt(0)
。
问题内容: 这是我在用户单击此按钮时的代码: 如何在此div中复制文本? 问题答案: JAVASCRIPT:
问题内容: 在我的Go语言命令行应用程序中,我需要能够使用Go将某些文本片段复制到系统剪贴板。基本上类似于PyperClip,但适用于Go。 我正在寻找与平台无关的解决方案!任何帮助将是巨大的:) 问题答案: 一个项目(仅适用于Windows和Mac)似乎正在接近您想要的:。 提供复制和粘贴到剪贴板的Go。 剪贴板_linux.go类中提供Linux支持:系统命令的简单包装。 另一种方法:尝试利用
我使用的是ReactJS,当用户点击链接时,我想将一些文本复制到剪贴板。 我使用的是Chrome 52,不需要支持任何其他浏览器。 我不明白为什么这段代码不会导致数据被复制到剪贴板。(代码片段的来源来自Reddit帖子)。 我做错了吗?有人能建议有没有一种“正确”的方法来使用reactjs实现复制到剪贴板?
我有一个HTML格式的表,我看到有人复制/粘贴该表的部分内容。当我尝试它的时候,结果是一团糟,需要大量的清理,因为表中包含了大量带有图像和其他东西的列。 有没有办法将选择限制在表的前2列? 有没有办法替换正在复制的文本(用户选择“Apple”并按下复制,但“Banana”最终出现在剪贴板中)?
问题内容: 我正在寻找一个如何将文本复制到iOS剪贴板的干净示例,然后可以在其他应用程序中使用/粘贴该文本。 此功能的优点是可以快速复制文本,而无需传统文本复制的标准文本突出显示功能。 我假设键类在其中,但是在它们提供的代码示例中找不到相关的区域。 问题答案: 如果您只需要纯文本,则可以使用属性。它既可读又可写: (从剪贴板中 读取数据时 ,UIPasteboard文档还建议您首先检查一下,“以避
有人知道是否可以从Windows的命令提示符或控制台窗口复制文本,比如命令、控制台应用程序或批处理文件的输出吗?