所以我在超文本标记语言文件中嵌套了div
标记。我试图从每个div
标记中复制某些文本。经过几个小时的寻找,我终于找到了有效的解决方案。下面的解决方案:
<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>
但因为它使用的是id
,所以它只对firstdiv
起作用。然后我将id
更改为class
,但之前找到的解决方案不起作用。我的HTML文件如下:
<div>
<div onclick="copyTextToClipboard()">
<span>My favorite actor is <span class="text_to_copy">Robert Downey, Jr.</span></span>
</div>
<div onclick="copyTextToClipboard()">
<span>My favorite actor is <span class="text_to_copy">Tom Cruise</span></span>
</div>
<div onclick="copyTextToClipboard()">
<span>My favorite actor is <span class="text_to_copy">Hugh Jackman</span></span>
</div>
<div onclick="copyTextToClipboard()">
<span>My favorite actor is <span class="text_to_copy">Ryan Gosling</span></span>
</div>
</div>
在评论了我找到的解决方案后,他建议我检查Range.set开始()
和Range.set结束()
。但是我只是不知道如何应用这些,因为我对Javascript还不熟悉。
另外,这几个span
标记也用于不同的类进行样式设置。
我修改了你的代码,请看一下,看看这是否有帮助。
var elements = document.getElementsByClassName("parentDiv");
Array.from(elements).forEach(function(element) {
element.addEventListener('click', copyTextToClipboard);
});
function copyTextToClipboard() {
var selection = window.getSelection();
var range = document.createRange();
let dataToCopy = this.getElementsByClassName('text_to_copy');
range.selectNodeContents(dataToCopy[0]);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand("Copy");
window.getSelection().removeAllRanges()
}
html lang-html prettyprint-override"><html>
<body>
<div>
<div class="parentDiv">
<span>My favorite actor is <span class="text_to_copy">Robert Downey, Jr.</span></span>
</div>
<div class="parentDiv">
<span>My favorite actor is <span class="text_to_copy">Tom Cruise</span></span>
</div>
<div class="parentDiv">
<span>My favorite actor is <span class="text_to_copy">Hugh Jackman</span></span>
</div>
<div class="parentDiv">
<span>My favorite actor is <span class="text_to_copy">Ryan Gosling</span></span>
</div>
</div>
</body>
</html>
我正在使用以下脚本将div复制到剪贴板。但是我试图用同一个按钮复制多个div(DivA DivB),同时在每个div周围添加一些引号和括号。我看到了一些答案(比如这个和这个),但我似乎无法在当前脚本中实现它们。 所以输出应该是这样的: 这是当前复制一个div的脚本。
问题内容: 这是我在用户单击此按钮时的代码: 如何在此div中复制文本? 问题答案: JAVASCRIPT:
这是用户点击此按钮时的代码: 如何复制此div中的文本?
问题内容: 在我的Go语言命令行应用程序中,我需要能够使用Go将某些文本片段复制到系统剪贴板。基本上类似于PyperClip,但适用于Go。 我正在寻找与平台无关的解决方案!任何帮助将是巨大的:) 问题答案: 一个项目(仅适用于Windows和Mac)似乎正在接近您想要的:。 提供复制和粘贴到剪贴板的Go。 剪贴板_linux.go类中提供Linux支持:系统命令的简单包装。 另一种方法:尝试利用
问题是,从vim到剪贴板的复制/粘贴停止工作。我不知道为什么。。。 在中,我也没有看到和缓冲区... 这是我的。vimrc,如果需要的话。 有什么建议吗? 谢谢
我想在Android API上测试剪贴板,所以我开始使用Android的ClipboardManager和ClipData类创建一个简单的应用程序。我遵循了Android网站上的“复制和粘贴”指南,尽管我必须填写几个地方,因为该指南没有每行必要的代码(但我最终不得不注释掉Intent和URI粘贴方法,因为它没有给出具体的示例,因为我假设数据是多种多样的)。我运行了应用程序,但由于某种原因,我发送的