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 相关文章推荐
javascript操作cookie_获取与修改代码
May 21 Javascript
JavaScript的eval JSON object问题
Nov 15 Javascript
容易被忽略的JS脚本特性
Sep 13 Javascript
一个简单的JS时间控件示例代码(JS时分秒时间控件)
Nov 22 Javascript
基于jQuery实现动态数字展示效果
Aug 12 Javascript
vuejs2.0实现一个简单的分页示例
Feb 22 Javascript
微信小程序 图片绝对定位(背景图片)
Apr 05 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
Jul 20 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 Javascript
layui table复选框禁止某几条勾选的实例
Sep 20 Javascript
Ant Design Vue 添加区分中英文的长度校验功能
Jan 21 Javascript
JavaScript自定义超时API代码实例
Apr 30 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中常用编辑器推荐
2007/01/02 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
利用JS来控制键盘的上下左右键(示例代码)
2013/12/14 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
AngularJs定时器$interval 和 $timeout详解
2017/05/25 Javascript
express express-session的使用小结
2018/12/12 Javascript
vue中多路由表头吸顶实现的几种布局方式
2019/04/12 Javascript
vuex管理状态 刷新页面保持不被清空的解决方案
2019/11/11 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
[02:09:59]火猫TV国士无双dota2 6.82版本详解(下)
2014/09/29 DOTA
[01:10]DOTA2次级职业联赛 - EP战队宣传片
2014/12/01 DOTA
Cpy和Python的效率对比
2015/03/20 Python
Python+selenium实现截图图片并保存截取的图片
2018/01/05 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python的faker库用法
2019/11/28 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
python中取绝对值简单方法总结
2020/07/24 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
比利时买床:Beter Bed
2017/12/06 全球购物
大学毕业的自我鉴定
2013/10/08 职场文书
后勤主管工作职责
2013/12/07 职场文书
宾馆仓管员岗位职责
2014/07/27 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书
解决SpringBoot文件上传临时目录找不到的问题
2021/07/01 Java/Android
vue.js 使用原生js实现轮播图
2022/04/26 Vue.js