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 相关文章推荐
自己开发Dojo的建议框架
Sep 24 Javascript
js DOM的学习笔记
Dec 22 Javascript
固定网页背景图同时保持图片比例的思路代码
Aug 15 Javascript
jQuery中[attribute!=value]选择器用法实例
Dec 31 Javascript
Javascript技术难点之apply,call与this之间的衔接
Dec 04 Javascript
javascript insertAfter()定义与用法示例
Jul 25 Javascript
js导出excel文件的简洁方法(推荐)
Nov 02 Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 Javascript
js实时监控文本框输入字数的实例代码
Jan 18 Javascript
jQuery实现弹出层效果
Dec 10 jQuery
vue项目中自定义video视频控制条的实现代码
Apr 26 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
May 20 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
索尼ICF-SW100收音机评测
2021/03/02 无线电
关于crontab的使用详解
2013/06/24 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
利用Vue实现移动端图片轮播组件的方法实例
2017/08/23 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
vue自定义指令的创建和使用方法实例分析
2018/12/04 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
vue 解决数组赋值无法渲染在页面的问题
2019/10/28 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Python中Threading用法详解
2017/12/27 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
pandas数据集的端到端处理
2019/02/18 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
Django框架 信号调度原理解析
2019/09/04 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
英国在线滑雪板和冲浪商店:The Board Basement
2020/01/11 全球购物
实习鉴定评语
2014/01/19 职场文书
护理学专业求职信
2014/06/29 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
四风问题对照检查材料整改措施
2014/09/27 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
关于MySQL中的 like操作符详情
2021/11/17 MySQL
十大动画制作软件,Adobe产品上榜两款,第一是行业标准软件
2022/03/18 杂记