javascript - 如何一次将两个div的内容复制到剪贴板
问题描述
我正在使用如下所示的 jquery 将 contenteditable div 的内容复制到剪贴板。我需要能够将另一个 div 的内容附加到复制的内容中,以便将两个 div 的内容同时复制到剪贴板。
这是我目前拥有的代码:
function copywithlink() {
var target = document.getElementById('PreviewHeader');
var range, select;
if (document.createRange) {
range = document.createRange();
range.selectNode(target)
select = window.getSelection();
select.removeAllRanges();
select.addRange(range);
document.execCommand('copy');
select.removeAllRanges();
} else {
range = document.body.createTextRange();
range.moveToElementText(target);
range.select();
document.execCommand('copy');
}
}
我不仅需要能够复制“Preview Header”的内容,还需要复制另一个名为“HiddenURLdiv”的 div,以便同时将它们复制到剪贴板。
解决方案
为此,您需要能够捕获这两个内容,然后将它们附加到第三个元素。然后选择并复制。
这里有一个例子:
$("#copystuff").click(function() {
var temp = $("<input>");
$("body").append(temp);
var previewHeader = $("#PreviewHeader").text();
var HiddenURLdiv = $("#HiddenURLdiv").text();
var contentTogether = previewHeader + " " + HiddenURLdiv;
temp.val(contentTogether).select();
document.execCommand("copy");
$("#thecopiedtext").text(contentTogether);
temp.remove();
});
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
color: #FFF;
}
a {
color: #FFCC00;
}
#HiddenURLdiv {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="PreviewHeader">
Hello stuff is here
</div>
<div id="HiddenURLdiv">
This one is hidden
</div>
<a href="#" id="copystuff">Copy Stuff</a>
<div id="thecopiedtext">
</div>
推荐阅读
- ruby-on-rails - 如何发送带有图像背景的电子邮件而不将此图像附加为文件以供下载?
- mysql - 将 SSRS 报告中的小数四舍五入
- php - 删除查询不成功后变量不显示
- assembly - 汇编 - 如果用于检查有效数字输入的语句未正确执行
- r - 如何替换向量中多个值的多次出现
- java - 无论如何,是否可以使用来自 2 个不同表的 2 个不同外键向表中插入数据?
- android-constraintlayout - 如何在特定帧位置使用motionlayout旋转textview
- python - 将短周期的到达数据转换为生成器函数
- java - 使用 WebClient 和 Reactor 3.0 进行递归 API 调用
- spring-annotations - 使@RequestBody 对象中的一个字段具有默认值