需求背景:H5页面点击按钮,复制对应的链接或文字到剪切板,然后进行粘贴分享
原生JS复制文案到剪切板
html部分:
<div class="container">
<div class="copy-dom">测试原生JS复制到粘贴板</div>
<a class="clipboard-btn">点击复制</a>
</div>
js部分:
设置生成的虚拟input的只读属性,否则会弹出系统的软键盘。
1、content : 需要复制的内容
2、message : 复制完后的提示
$(".clipboard-btn").click(function() {
var domText = $('.copy-dom').html();
copyToClip(domText);
})
function copyToClip(content, message) {
var aux = document.createElement("input");
aux.readOnly = 'readonly'; // 移动端禁止软键盘弹出
aux.setAttribute("value", content);
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
if (message == null) {
alert("复制成功");
} else{
alert(message);
}
}
Clipborad.js复制文案到剪切板
html部分:
<div class="container2">
<div class="copy-dom2">测试clipboard.js复制到粘贴板</div>
<a class="clipboard-btn2">点击复制</a>
</div>
js部分:
1、.clipboard-btn2 点击进行复制操作的DOM元素
2、text 可动态设置text,需要返回一个字符串
var clipboard = new ClipboardJS('.clipboard-btn2', {
text: function() {
return $(".copy-dom2").html(); // 复制的内容部分,function部分可做对应调整
}
});
clipboard.on('success', function(e) {
alert("复制成功");
e.clearSelection();
});