使用以下代码,我有一个功能来复制指定元素的文本范围,但是如果在同一页上多次出现并尝试使用两个按钮来复制不同的元素,则始终只会粘贴您点击的第一个元素。
不确定我是否解释清楚了,所以这里有一个例子:
不确定我是否解释清楚了,所以这里有一个例子:
A = abc
B = xyz
Button1 = CopyToClipboard('A')
Button2 = CopyToClipboard('B')
//If I clicked button1 then button2 I would get the contents of button1 (abc).
两个按钮都是可以使用的,但是在你点击其中一个按钮之后,就不能再复制另一个按钮了。
HTML:
<div>
<a id="A">abc</a>
</div>
<div>
<a href="javascript:void(0);" onclick="CopyToClipboard('A')">COPY</a>
</div>
<div>
<a id="B">xyz</a>
</div>
<div>
<a href="javascript:void(0);" onclick="CopyToClipboard('B')">COPY</a>
</div>
JS:
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");
}
}
编辑: 代码片段链接:https://plnkr.co/edit/z5bCymHPgEdTQhYShlMR?p=preview