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 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
Javascript 鼠标移动上去小三角形滑块缓慢跟随效果
Apr 26 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
Dec 08 Javascript
Javascript中的getUTCHours()方法使用详解
Jun 10 Javascript
javascript实现跨域的方法汇总
Jun 25 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
Jun 20 Javascript
详解js的作用域、预解析机制
Feb 05 Javascript
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
工作中常用js功能汇总
Nov 07 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
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中协程和阻塞的一些理解与思考
2017/08/11 PHP
jQuery select操作控制方法小结
2010/05/26 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
jQuery实现下拉框左右选择的简单实例
2014/02/22 Javascript
javascript常用函数(1)
2015/11/04 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
jQuery基于Ajax方式提交表单功能示例
2017/02/10 Javascript
浅谈实现vue2.0响应式的基本思路
2018/02/13 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
Javascript 关于基本类型和引用类型的个人理解
2019/11/01 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
在Heroku云平台上部署Python的Django框架的教程
2015/04/20 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
详解Python中的正则表达式
2018/07/08 Python
Python Requests库基本用法示例
2018/08/20 Python
详解Django项目中模板标签及模板的继承与引用(网站中快速布置广告)
2019/03/27 Python
DataFrame 数据合并实现(merge,join,concat)
2020/06/14 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
pymysql模块使用简介与示例
2020/11/17 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
Python读写Excel表格的方法
2021/03/02 Python
建筑工程技术应届生求职信
2013/11/17 职场文书
总裁秘书岗位职责
2013/12/04 职场文书
五好党支部事迹材料
2014/02/06 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
亲属关系公证书
2014/04/08 职场文书
赔偿协议书范本
2014/04/15 职场文书
个人简历自荐信
2014/06/26 职场文书
开展读书活动总结
2014/06/30 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
HTML通过表单实现酒店筛选功能
2021/05/18 HTML / CSS
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python