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 ajax abort()的使用方法
Oct 28 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
Nov 20 Javascript
改变隐藏的input中value值的方法
Mar 19 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
批量下载对路网图片并生成html的实现方法
Jun 07 Javascript
ionic组件ion-tabs选项卡切换效果实例
Aug 27 Javascript
Bootstrap基本样式学习笔记之图片(6)
Dec 07 Javascript
简单的渐变轮播插件
Jan 12 Javascript
JS及JQuery对Html内容编码,Html转义
Feb 17 Javascript
vue中的$emit 与$on父子组件与兄弟组件的之间通信方式
May 13 Javascript
在element-ui的select下拉框加上滚动加载
Apr 18 Javascript
vue跳转同一个组件,参数不同,页面接收值只接收一次的解决方法
Nov 05 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根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
PHP设计模式之建造者模式定义与用法简单示例
2018/08/13 PHP
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
JQuery的Ajax中Post方法传递中文出现乱码的解决方法
2014/10/21 Javascript
ajax异步请求详解
2017/01/06 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
分析javascript原型及原型链
2018/03/18 Javascript
vue v-for 使用问题整理小结
2019/08/04 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[38:39]KG vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python实现异步回调机制代码分享
2014/01/10 Python
Python的SQLAlchemy框架使用入门
2015/04/29 Python
Python 使用PIL中的resize进行缩放的实例讲解
2018/08/03 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
如何在Python中实现goto语句的方法
2019/05/18 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python安装OpenCV的示例代码
2020/03/05 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
python 第三方库paramiko的常用方式
2021/02/20 Python
CAT鞋英国官网:坚固耐用的靴子和鞋
2016/10/21 全球购物
里程积分管理买卖交换平台:Points.com
2017/01/13 全球购物
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
Stio官网:男女、儿童户外服装
2019/12/13 全球购物
ParcelABC西班牙:包裹运送和快递服务
2019/12/24 全球购物
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
科颜氏印度官网:Kiehl’s印度
2021/02/20 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
交通安全寄语大全
2014/04/08 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
Python字符串格式化方式
2022/04/07 Python
SQL Server数据库查询出现阻塞之性能调优
2022/04/10 SQL Server