首页 > 建站教程 > JS、jQ、TS >  js实现复制、粘贴,clipboard.min.js的使用正文

js实现复制、粘贴,clipboard.min.js的使用

使用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插件并不是兼容所有的浏览器。