js实现复制粘贴
使用document.ExecCommand(“copy”)命令,官方文档,点我。
document.ExecCommand(“Copy”)该方法允许运行命令来操纵可编辑内容区域的元素。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function copyLink(){
var e = document.getElementById("copy");
e.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
alert("内容复制成功!");
}
</script>
</head>
<body>
<textarea id="copy">待复制的内容</textarea>
<input type="button" onclick="copyLink()" value="点击复制"></input>
</body>
</html>
在复制中,使用最多的就是clipboard.min.js插件了,点我查看下载地址,点我查看官方文档
<body>
<p>通过text参数来进行复制操作</p>
<button class="btn">复制</button>
</body>
<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>
也可以像下面这样:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
</head>
<body>
<div>欢迎光临 yubai9</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>
</body>
</html>
如果不需要显示定义textarea后再复制,可以这样做。先创建一个textarea元素,然后进行复制,最后再把这个元素删除掉。下面显示了使用的过程
var text="需要复制的内容";
var element = $("<textarea>" + text + "</textarea>");
$("body").append(element);
element[0].select();
document.execCommand("Copy");
element.remove();