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 相关文章推荐
jQuery 常见操作实现方式和常用函数方法总结
May 06 Javascript
js multiple全选与取消全选实现代码
Dec 04 Javascript
Jquery $.getJSON 在IE下的缓存问题解决方法
Oct 10 Javascript
jQuery的text()方法用法分析
Dec 20 Javascript
Javascript中数组方法汇总(推荐)
Apr 01 Javascript
使用Javascript写的2048小游戏
Nov 25 Javascript
jquery选择器中的空格与大于号&gt;、加号+与波浪号~的区别介绍
Jun 24 Javascript
jQuery轮播图效果精简版完整示例
Sep 04 Javascript
利用Vue.js实现checkbox的全选反选效果
Jan 18 Javascript
JavaScript继承与聚合实例详解
Jan 22 Javascript
VUE.CLI4.0配置多页面入口的实现
Nov 25 Javascript
vue Element左侧无限级菜单实现
Jun 10 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
基于jquery的关于动态创建DOM元素的问题
2010/12/24 Javascript
推荐40个非常优秀的jQuery插件和教程【系列三】
2011/11/09 Javascript
js 高效去除数组重复元素示例代码
2013/12/19 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
JavaScript与HTML的结合方法详解
2015/11/23 Javascript
AngularJS中的API(接口)简单实现
2016/07/28 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
在 webpack 中使用 ECharts的实例详解
2018/02/05 Javascript
Vue编程式跳转的实例代码详解
2019/07/10 Javascript
Vue 自定义指令功能完整实例
2019/09/17 Javascript
Vue.js数字输入框组件使用方法详解
2019/10/19 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
关于python的bottle框架跨域请求报错问题的处理方法
2017/03/19 Python
python实现自动解数独小程序
2019/01/21 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
2020/06/24 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
canvas使用注意点总结
2013/07/19 HTML / CSS
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
大学生的应聘自我评价
2013/12/13 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
销售主管竞聘书
2014/03/31 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
大学生学习计划书
2014/09/15 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
JavaScript继承的三种方法实例
2021/05/12 Javascript