使用document.ExecCommand("copy")命令
<script type="text/javascript">
function copyLink(){
var e = document.getElementById("copy");
e.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
alert("内容复制成功!");
}
</script>
<textarea id="copy">待复制的内容</textarea>
<input type="button" onclick="copyLink()" value="点击复制"></input>
document.ExecCommand("copy"),是必须为textarea、input等可选中元素,如果不需要显示textarea、input等元素后再复制,可以这样做。先创建一个textarea元素,然后进行复制,最后再把这个元素删除掉。下面显示了使用的过程:
var text="需要复制的内容";
var element = $("<textarea>" + text + "</textarea>");
$("body").append(element);
element[0].select();
document.execCommand("Copy");
element.remove();
在复制中,使用最多的就是clipboard.min.js插件了,可以访问:https://github.com/zenorocha/clipboard.js
<p>通过text参数来进行复制操作</p>
<button class="btn">复制</button>
<script src="js/version/clipboard.min.js"></script>
<script>
var clipboard = new Clipboard('.btn', {
text: function() {
return '这里是text参数返回的内容 - Hello yubai8';
}
});
clipboard.on('success', function(e) {
alert("文字已复制到剪贴板中");
console.log(e);
});
clipboard.on('error', function(e) {
alert("异常错误: " + JSON.stringify(e.message));
console.log(e);
});
</script>
也可以像下面这样:
<div>我爱模板网</div>
<button class="btn" data-clipboard-action="copy" data-clipboard-target="div">Copy</button>
<script src="js/version/clipboard.min.js"></script>
<script>
var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
alert("文字已复制到剪贴板中");
console.log(e);
});
clipboard.on('error', function(e) {
alert("异常错误: " + JSON.stringify(e));
console.log(e);
});
</script>
clipboard.min.js插件并不是兼容所有的浏览器。