ZeroClipboard.js使用一个flash复制多个文本框


Posted in Javascript onJune 19, 2017

ZeroClipboard.js是一个支持复制和粘贴的JavaScript插件,目前官方已经到2.x的版本了,但不支持IE9以下的浏览器,而如果要兼容,则可以使用1.x的版本,我使用的是最开始的一个版本:1.0.7的。该版本支持IE7和IE8,今天主要介绍如何使用一个flash支持多个复制文本。

一般我们需要复制一个地方的时候,大多都使用下面这个代码新建一个对象:

<div id="J_pop_share">
  <input id="J_video_iframe1" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
  <button id="J_copy_btn1">复制</button>
</div>

单个:

var clip = null;//ZeroClipboard.Client对象 
var current_id = null;//当前所在的文本元素id 
//指定ZeroClipboard.swf位置
ZeroClipboard.setMoviePath(location.protocol+"//club.pcauto.com.cn/js/ZeroClipboard.swf"); 
clip = new ZeroClipboard.Client();//创建ZeroClipboard.Client对象 
clip.setHandCursor(true);//鼠标移动到元素上之后显示手型 
clip.glue('J_copy_btn1','J_pop_share');
clip.setText($('#J_video_iframe1').val());
//添加复制成功之后的操作 
clip.addEventListener('complete', function() { 
  alert('复制成功'); 
});

如果有多个的话,是不是需要新建四个flash对象呢?可能没尝试过的人会这么做,这篇文章分享另外一种做法,就是在上面这个flash的基础上,当移动到另外一个按钮时,改变flash的位置和复制的文本。

多个文本的HTML代码:

<div id="J_pop_share">
  <div>
    <input id="J_video_iframe1" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn1" class="btn-copy-text">复制</button>
  </div>
  <div>
    <input id="J_video_iframe2" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn2" class="btn-copy-text">复制</button>
  </div>
  <div>
    <input id="J_video_iframe3" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn3" class="btn-copy-text">复制</button>
  </div>
  <div>
    <input id="J_video_iframe4" value="<iframe src="http://caibaojian.com/book/"></iframe>" />
    <button id="J_copy_btn4" class="btn-copy-text">复制</button>
  </div>
</div>

javascript代码:在上面js的基础上,加上下面这个代码

//上面的代码
$(".btn-copy-text").each(function(i){
  var index =i+1;
  $(this).on('mouseover',function(){
    var button_id = $(this).attr('id');//复制div的id 
    //var text_id = button_id+'_text';//要复制的元素id 
    var text_id = 'J_video_iframe'+(index);
    move_swf(text_id , button_id); 
  }); 
}); 

//移动浮动flash div到指定的地方,从而只需要使用一个flash即可在多个地方实现复制功能 
function move_swf(text_id,button_id) { 
  //重新指定flash浮动div位置,用reposition 
  clip.reposition(button_id, 'J_pop_share');
  clip.setText($('#'+text_id).val()); 
}

在使用ZeroClipboard.js时,可能会出现复制不起作用或者其它诡异的bug,例如我今天在IE中,由于内容是放在弹窗里面,复制第一个是可以的,但第二个则会报错,提示“没有这个对象”,调试了好久,始终无法解决,后来不隐藏弹窗,却不会报错,所以,我觉得应该是flash隐藏和显示有关,把弹窗隐藏改用绝对定位加left:-9999px,显示的时候,再定位正确的left值就不会报错了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
一些常用且实用的原生JavaScript函数
Sep 08 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
Feb 11 Javascript
Mac地址验证的javascript代码
Nov 09 Javascript
JavaScript操作Oracle数据库示例
Mar 06 Javascript
JS实现简单路由器功能的方法
May 27 Javascript
Javascript简单改变表单元素背景的方法
Jul 15 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
Jan 23 Javascript
Jquery元素追加和删除的实现方法
May 24 Javascript
Angularjs 实现分页功能及示例代码
Sep 14 Javascript
vue页面离开后执行函数的实例
Mar 13 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
Jun 20 Javascript
JavaScript 闭包的使用场景
Sep 17 Javascript
AngularJS的ng-click传参的方法
Jun 19 #Javascript
JavaScript队列函数和异步执行详解
Jun 19 #Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 #Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
Jun 19 #Javascript
详解AngularJS脏检查机制及$timeout的妙用
Jun 19 #Javascript
深入理解AngularJs-scope的脏检查(一)
Jun 19 #Javascript
jQuery 实现双击编辑表格功能
Jun 19 #jQuery
You might like
人大复印资料处理程序_查询篇
2006/10/09 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
日期函数扩展类Ver0.1.1
2006/09/07 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
按Enter键触发事件的jquery方法实现代码
2014/02/17 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
2014/04/17 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
省市联动效果的简单实现代码(推荐)
2016/06/06 Javascript
javascript基础练习之翻转字符串与回文
2017/02/20 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
JS中实现一个下载进度条及播放进度条的代码
2019/06/10 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
Python无损音乐搜索引擎实现代码
2018/02/02 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
python3的输入方式及多组输入方法
2018/10/17 Python
Django models.py应用实现过程详解
2019/07/29 Python
python同步windows和linux文件
2019/08/29 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
老生常谈CSS中的长度单位
2016/06/27 HTML / CSS
很酷的HTML5电子书翻页动画特效
2016/02/25 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
企业年会主持词
2014/03/27 职场文书
考生诚信考试承诺书
2014/05/23 职场文书
党员四风问题个人对照检查材料
2014/10/26 职场文书
预备党员个人总结
2015/02/14 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis