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动态添加删除(tr/td)
Feb 09 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
Jun 25 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
js原生实现FastClick事件的实例
Nov 20 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
Feb 26 Javascript
使用yeoman构建angular应用的方法
Aug 14 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
限时抢购-倒计时的完整实例(分享)
Sep 17 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
Feb 14 Javascript
Angular刷新当前页面的实现方法
Nov 21 Javascript
vue-music 使用better-scroll遇到轮播图不能自动轮播问题
Dec 03 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
Aug 31 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
ADODB结合SMARTY使用~超级强
2006/11/25 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
PHP之密码加密的几种方式
2015/07/29 PHP
php插入含有特殊符号数据的处理方法
2016/11/24 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
php 利用socket发送GET,POST请求的实例代码
2020/07/04 PHP
基于PHP的登录和注册的功能的实现
2020/08/06 PHP
JavaScript 对象模型 执行模型
2009/12/06 Javascript
jquery easyui的tabs使用时的问题
2010/03/23 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
jquery中的常用事件bind、hover、toggle等示例介绍
2014/07/21 Javascript
AngularJS过滤器详解及示例代码
2016/08/16 Javascript
原生JS查找元素的方法(推荐)
2016/11/22 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
AjaxUpLoad.js实现文件上传
2018/03/05 Javascript
详解webpack模块化管理和打包工具
2018/04/21 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
解决webpack多页面内存溢出的方法示例
2019/10/08 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
Python GAE、Django导出Excel的方法
2008/11/24 Python
python 写的一个爬虫程序源码
2016/02/28 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Python使用configparser读取ini配置文件
2020/05/25 Python
从一次项目重构说起CSS3自定义变量在项目的使用方法
2021/03/01 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
档案检查欢迎词
2014/01/13 职场文书
建筑院校毕业生求职信
2014/06/13 职场文书
入党积极分子十八届四中全会思想汇报
2014/10/23 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers