废话不多说,直接上码,注释写的很清楚了:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>jQuery.zclip Test</title> <style type="text/css"> .line{margin-bottom:20px;} /**复制提示*/ .copy-tips{position:fixed;z-index:999;bottom:50%;left:50%;margin:0 0 -20px -80px;background-color:rgba(0, 0, 0, 0.2);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr=#30000000, endColorstr=#30000000);padding:6px;} .copy-tips-wrap{padding:10px 20px;text-align:center;border:1px solid #F4D9A6;background-color:#FFFDEE;font-size:14px;} </style> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script src="jquery.zclip.min.js"></script> </head> <body> <div class="line"> <h2>demo1 点击复制当前文本</h2> <a href="#none" class="copy">点击复制我</a> </div> <div class="line"> <h2>demo2 点击复制表单中的文本</h2> <a href="#none" class="copy-input">点击复制单中的文本</a> <input type="text" class="input" value="输入要复制的内容" /> </div> <script> $(function(){ //定义所有class为copy标签,点击后可复制被点击对象的文本 $(".copy").zclip({ path: "ZeroClipboard.swf", copy: function(){ return $(this).text(); }, beforeCopy:function(){ //按住鼠标时的操作 $(this).css("color","orange"); }, afterCopy:function(){/* 复制成功后的操作 */ var $copysuc = $("<div class='copy-tips'><div class='copy-tips-wrap'>☺ 复制成功</div></div>"); $("body").find(".copy-tips").remove().end().append($copysuc); $(".copy-tips").fadeOut(3000); } }); //定义所有class为copy-input标签,点击后可复制class为input的文本 $(".copy-input").zclip({ path: "ZeroClipboard.swf", copy: function(){ return $(this).parent().find(".input").val(); }, afterCopy:function(){ //复制成功后的操作 var $copysuc = $("<div class='copy-tips'><div class='copy-tips-wrap'>☺ 复制成功</div></div>"); $("body").find(".copy-tips").remove().end().append($copysuc); $(".copy-tips").fadeOut(3000); } }); }); </script> </body> </html>
现在我们常用的主流浏览器或多或多少都会禁止一般的 JavaScript 复制,要自己手动选中 Ctrl+C 或者 鼠标右键复制,这个用户体验很差,这个插件很好的解决了这个问题,大家可以试试看。