【javascript】js实现复制、粘贴
使用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>
clipboard.min.js插件并不是兼容所有的浏览器。
如果不需要显示定义textarea后再复制,可以这样做。先创建一个textarea元素,然后进行复制,最后再把这个元素删除掉。下面显示了使用的过程:
var text="需要复制的内容"; var element = $("<textarea>" + text + "</textarea>"); $("body").append(element); element[0].select(); document.execCommand("Copy"); element.remove();
原文链接: