jQuery实现复制到剪切板

时间:2022-09-14 20:43:19

前段时间需要做一个点击一个按钮,把制定内容复制到剪切板的效果。

对于IE浏览器而言,有一简单的方法,通过 window.clipboardData:

(假如有一个id为copy的按钮,有一个id为name的输入框,“text”为固定格式)

$("#copy").click(function () {

  window.clipboardData.setData("text", $("#name").val());

  alert("已复制到剪贴板");

});


但是这个方法仅限于IE浏览器,其他浏览器使用不了,所以不推荐使用。

下面介绍一种兼容主流浏览器的方法:jQuery的zclip插件。

1、首先下载一个一个zclip插件,网上有很多下载资源,随便百度一个,里面主要有两个文件:jquery.zclip.min、ZeroClipboard.swf。(注意两个都要导入进去)

2、把这两个文件都放都项目中去,同时引用js例如:<script src="../plugins/js/jquery.zclip.min.js"></script>(我的js文件都放在根目录下的plugins文件下的js文件中)


3、下面模拟具体代码:

<a href="www.baidu.com" id="url">www.baidu.com</a>

<input type="button" value="复 制" id="copy" /> 

点击“复制”按钮:

$("#copy").zclip({

<span style="white-space:pre"></span>path: "../plugins/js/ZeroClipboard.swf",

<span style="white-space:pre"></span>copy: function () {<span style="white-space:pre"></span>//复制内容 

<span style="white-space:pre"></span>return $("#url").text();

<span style="white-space:pre"></span>},

<span style="white-space:pre"></span>afterCopy: function () {//复制成功 

<span style="white-space:pre"></span>alert("已复制到剪贴板");

<span style="white-space:pre"></span>}

});
<span style="font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(254, 254, 242);">其中path是ZeroClipboard.swf在项目中的路径位置,afterCopy可选。</span>