sfkong 2012-09-27
在说到ZeroClipboard之前,先说说为何会用到ZeroClipboard。有时候需要在触发某JavaScript事件的同时,将某段文本复制到剪贴板。比如直接通过点击某复制按钮,将textarea中的内容复制到剪贴板
考虑浏览器的兼容性,最近用ZeroClipboard
注意:
ZeroClipboard在本地磁盘上测试无法使用,必须在服务器上测试,如http://localhost...
或者更改flash的安全设置:右键-全局设置-高级-受信任位置设置-添加-添加文件夹(把含有ZeroClipboard.swf的文件添加进去),设置以后就可以在本地测试了...
1.<a href="javascript:void(0)" id="btnCopy_1" copyContent="aaa">复制链接</a> 2. 3.<a href="javascript:void(0)" id="btnCopy_2" copyContent="ccc">复制链接</a>
$(function(){ //设置ZeroClipboard.swf的路径 ZeroClipboard.setMoviePath("<%=path %>/scripts/ZeroClipboard.swf"); $("a[id^=btnCopy_]").each(function(){ var clip = new ZeroClipboard.Client(); clip.setHandCursor(true); var obj = $(this); var id = $(this).attr("id"); var content = $(this).attr("copyContent"); clip.setText(content); clip.glue(id); //鼠标移上时改变按钮的样式 clip.addEventListener( "mouseOver", function(client) { obj.css("color","#FF6600"); }); //鼠标移除时改变按钮的样式 clip.addEventListener( "mouseOut", function(client) { obj.css("color",""); }); //这个是复制成功后的提示 clip.addEventListener( "complete", function(){ alert("已经复制到剪切板!"+"\n"+content); }); }); });
这是在项目中遇见的问题,在这里标记一下