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入门——用bind方法绑定事件处理函数应用介绍
Feb 05 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
jQuery中is()方法用法实例
Jan 06 Javascript
JavaScript生成随机数的4种自定义函数分享
Feb 28 Javascript
js数组去重的方法汇总
Jul 29 Javascript
js实现tab切换效果实例
Sep 16 Javascript
js倒计时简单实现方法
Dec 17 Javascript
浅谈JS中的bind方法与函数柯里化
Aug 10 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
Jan 20 Javascript
微信小程序动态添加view组件的实例代码
May 23 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
vue iview 隐藏Table组件里的某一列操作
Nov 13 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加MYSQL服务器
2006/10/09 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
CI框架开发新浪微博登录接口源码完整版
2014/05/28 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
smarty内置函数foreach用法实例
2015/01/22 PHP
PHP单链表的实现代码
2016/07/05 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
jquery对元素拖动排序示例
2014/01/16 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
SpringMVC简单整合Angular2的示例
2017/07/31 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
微信小程序图片选择区域裁剪实现方法
2017/12/02 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
React中使用async validator进行表单验证的实例代码
2018/08/17 Javascript
vue填坑之webpack run build 静态资源找不到的解决方法
2018/09/03 Javascript
vue-cli 目录结构详细讲解总结
2019/01/15 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
python常用函数详解
2016/09/13 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
Python lambda函数基本用法实例分析
2018/03/16 Python
python实现excel读写数据
2021/03/02 Python
python验证码识别教程之滑动验证码
2018/06/04 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
Python 脚本实现淘宝准点秒杀功能
2019/11/13 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Pandas之缺失数据的实现
2021/01/06 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
岗位职责定义及内容
2013/11/08 职场文书