zeroclipboard 单个复制按钮和多个复制按钮的实现方法


Posted in Javascript onJune 14, 2014

zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的 document.execCommand("Copy") 更加灵活。

zeroclipboard下载地址:https://3water.com/jiaoben/24961.html

zeroclipboard实现多浏览器复制到粘贴板功能(单个复制按钮和多个复制按钮) 为了更好的用户体验,现在很多网站中文本框的内容只需要点击复制按钮这样就能把内容复制到粘贴板了;

出于兼容性的考虑,基本上都是通过zeroclipboard来实现.首先要下载zeroclipboard,解压后把ZeroClipboard.js和ZeroClipboard.swf、ZeroClipboard10.swf(“为了flash10”)放到项目中,可以通过ZeroClipboard.setMoviePath( '/ZeroClipboard.swf' )方法来加载swf;
下面是整理的代码(也是通过 网上查找整理的)

(单个复制按钮):

html:

<input type="text" value="text" id="copy_txt"/><a href="javascirpt:;" id="copy_btn">复制</a>
<script language="JavaScript">
    ZeroClipboard.setMoviePath( 'ZeroClipboard.swf' );  //和html不在同一目录需设置setMoviePath
    ZeroClipboard.setMoviePath( 'ZeroClipboard10.swf' );
    var clip = new ZeroClipboard.Client();   //创建新的Zero Clipboard对象
    clip.setText( '' ); // will be set later on mouseDown   //清空剪贴板
    clip.setHandCursor( true );      //设置鼠标移到复制框时的形状
    clip.setCSSEffects( true );          //启用css
    clip.addEventListener( 'complete', function(client, text) {     //复制完成后的监听事件
          alert("aa")      
          clip.hide();                                          // 复制一次后,hide()使复制按钮失效,防止重复计算使用次数
     } );
   clip.addEventListener( 'mouseDown', function(client) {
          clip.setText( document.getElementById('copy_txt').value );
    } );
    clip.glue( 'copy_btn' );
</script>

多个复制按钮:

<input type="text" value="text" id="copy_txt0"/><a href="javascirpt:;" id="copy_btn0" data='0' class="copyBtn">复制</a>
<input type="text" value="text" id="copy_txt1"/><a href="javascirpt:;" id="copy_btn1" data='1' class="copyBtn">复制</a>
<input type="text" value="text" id="copy_txt2"/><a href="javascirpt:;" id="copy_btn2" data='2' class="copyBtn">复制</a>
<script language="JavaScript">
$(".copyBtn").each(function(i){
        var id = $(this).attr('data');
        var clip=null;
        clip = new ZeroClipboard.Client();
        ZeroClipboard.setMoviePath( 'ZeroClipboard.swf' );  //和html不在同一目录需设置setMoviePath
        ZeroClipboard.setMoviePath( 'ZeroClipboard10.swf' );
        clip.setHandCursor( true );
        clip.setText( $("#copy_txt"+id).val() );
        clip.addEventListener('complete', function (client, text) {
          alert( "恭喜复制成功" );
        });
        clip.glue( 'copy_btn'+id);
  });
</script>

注意: clip.setText( $("#copy_txt"+id).val() );如果是获取div中的内容, 一般用clip.setText( $("#copy_txt"+id).text() );或clip.setText( $("#copy_txt"+id).html() );

Javascript 相关文章推荐
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
May 07 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
JS+CSS实现简易实用的滑动门菜单效果
Sep 18 Javascript
jQuery extend()详解及简单实例
May 06 jQuery
使用SVG基本操作API的实例讲解
Sep 14 Javascript
Vue 按键修饰符处理事件的方法
May 04 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
Mar 27 Javascript
微信小程序如何获取用户头像和昵称
Sep 23 Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 Javascript
Js和VUE实现跑马灯效果
May 25 Javascript
Ext修改GridPanel数据和字体颜色、css属性等
Jun 13 #Javascript
jquery实现倒计时代码分享
Jun 13 #Javascript
JS判断移动端访问设备并加载对应CSS样式
Jun 13 #Javascript
改变状态栏文字的js代码
Jun 13 #Javascript
js数组中如何随机取出一个值
Jun 13 #Javascript
可编辑下拉框的2种实现方式
Jun 13 #Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
Jun 13 #Javascript
You might like
PHP下对数组进行排序的函数
2010/08/08 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
100多个基础常用JS函数和语法集合大全
2017/02/16 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
2018/02/09 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
jQuery pagination分页示例详解
2018/10/23 jQuery
详解基于Vue的支持数据双向绑定的select组件
2019/09/02 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
小程序实现多个选项卡切换
2020/06/19 Javascript
关于vue 结合原生js 解决echarts resize问题
2020/07/26 Javascript
vue 实现根据data中的属性值来设置不同的样式
2020/08/04 Javascript
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
2019/06/13 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
2014/01/18 面试题
个人求职信范文分享
2014/01/06 职场文书
yy结婚证婚词
2014/01/10 职场文书
《我要的是葫芦》教学反思
2014/02/23 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
物业保洁员岗位职责
2015/02/13 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
费用申请报告范文
2015/05/15 职场文书
二审答辩状范文
2015/05/22 职场文书
运动员入场前导词
2015/07/20 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript