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使用办法
Apr 01 Javascript
Jquery动态添加及删除页面节点元素示例代码
Jun 16 Javascript
javascript鼠标右键菜单自定义效果
Dec 08 Javascript
浅谈jquery设置和获得checkbox选中的问题
Aug 19 Javascript
Bootstrap栅格系统的使用和理解2
Dec 14 Javascript
js querySelector() 使用方法
Dec 21 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
Jan 24 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
Aug 16 Javascript
浅谈vue项目重构技术要点和总结
Jan 23 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 Javascript
微信小程序wxs实现吸顶效果
Jan 08 Javascript
vue下载二进制流图片操作
Oct 26 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
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
PHP 开发环境配置(Zend Studio)
2010/04/28 PHP
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
推荐:极酷右键菜单
2006/11/29 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
js常用系统函数用法实例分析
2015/01/12 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
JavaScript添加随滚动条滚动窗体的方法
2016/02/23 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
微信小程序实现左右联动的实战记录
2018/07/05 Javascript
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
ES6 Iterator接口和for...of循环用法分析
2019/07/31 Javascript
Nuxt页面级缓存的实现
2020/03/09 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python+AutoIt实现界面工具开发过程详解
2019/08/07 Python
python类的实例化问题解决
2019/08/31 Python
浅谈tensorflow 中tf.concat()的使用
2020/02/07 Python
推荐8款常用的Python GUI图形界面开发框架
2020/02/23 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
骆驼官方商城:CAMEL
2016/11/22 全球购物
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
生物制药自我鉴定
2014/01/25 职场文书
公共场所禁烟标语
2014/06/25 职场文书
党员民主评议总结
2014/10/20 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python