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 定义function的三种方式小结
Oct 16 Javascript
jquery获取table中的某行全部td的内容方法
Mar 08 Javascript
深入理解Javascript中this的作用域
Aug 12 Javascript
Jquery中request和request.form和request.querystring的区别
Nov 26 Javascript
JS正则替换掉小括号及内容的方法
Nov 29 Javascript
wap手机端解决返回上一页的js实例
Dec 08 Javascript
JS+HTML5实现图片在线预览功能
Jul 22 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
JavaScript实现图片上传并预览并提交ajax
Sep 30 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
Jun 05 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
Jul 17 Javascript
Nest.js 授权验证的方法示例
Feb 22 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模板引擎SMARTY
2006/10/09 PHP
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
详解JS函数重载
2014/12/04 Javascript
JavaScript中Function()函数的使用教程
2015/06/04 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
jQuery 常见小例汇总
2016/12/14 Javascript
三种方式实现瀑布流布局
2017/02/10 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
jQuery 实现鼠标画框并对框内数据选中的实例代码
2017/08/29 jQuery
Three.js实现浏览器变动时进行自适应的方法
2017/09/26 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
elementUI table表格动态合并的示例代码
2019/05/15 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python检查字符串是否是正确ISBN的方法
2015/07/11 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
python安装pil库方法及代码
2019/06/25 Python
python super函数使用方法详解
2020/02/14 Python
利用Python脚本批量生成SQL语句
2020/03/04 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
洗煤厂厂长岗位职责
2014/01/03 职场文书
商业活动邀请函
2014/02/04 职场文书
英语故事演讲稿
2014/04/29 职场文书
创建青年文明号材料
2014/05/09 职场文书
高职教师先进事迹材料
2014/08/24 职场文书
2014年学习部工作总结
2014/11/12 职场文书
2014年环境卫生工作总结
2014/11/24 职场文书