网上能搜索到的例子大部分都是基于单复制按钮来实现的,如果一个页面中有好多个复制按钮,就不好搞了。
如图:
这个解决方案得原理是 :
拿js动态加载一个透明flash.然后遮盖到你要点击得按钮上面,之后在给这个flash得承载元素上绑定事件动态把要复制得值传递到flash中,用flash访问剪切板.
这时候就出现这么一个问题 多个按钮 如果每个按钮都加栽一遍flash得话 会很吃内存 并且动态得代码也不是很好写
最后得解决方案 如下:
1. 现在Body中放置一个隐藏得flash容器 绝对定位层
<div id="ClipSwf" style="left:-1000px;position:absolute;width:80px;height:25px;" ></div>
2.使用js在页面加载完成得时候初始化剪切板的对象 并设置鼠标手势 和承载容器 然后把flash输出成html输出到容器中。
var clipManage = { clip: null, ClipContainer: null, InitClip: function() { page.clip = new ZeroClipboard.Client(); page.ClipContainer = $("#ClipSwf"); page.clip.setHandCursor(true); page.clip.setCSSEffects(true); page.clip.addEventListener('complete', function (client){ $.messager.alert('提示:', '复制完成!', 'info'); }); page.ClipContainer.html(page.clip.getHTML(55, 22)); }, SetClipValue: function(obj, idx){ var row = $('#hisList').datagrid('selectRow', idx).datagrid('getSelected'); var offset = $(obj).offset(); page.ClipContainer.offset({left: offset.left, top: offset.top}); page.clip.setText(row.cdnPath); } }
3.在各个复制按钮上动态绑定事件 并把响应的要复制得值或者控件传递到function中 之后设置隐藏flash容器得left,top边距 让其漂浮在触发该事件得按钮上 并把要复制的值 通过
Clip.setText('text') (插件提供得方法) 传递给flash 这样就实现了多个按钮复制得功能
<a href="javascript:;" id="copyurl'+rowData.id+'" onmouseover="page.SetClipValue(this, ' + rowIndex + ')">复制</a>
参考:
相关推荐
标题中的“使用 ZeroClipboard 实现复制功能”是指利用 ZeroClipboard 这个JavaScript库来实现在网页上一键复制文本的功能。这个库广泛应用于Web应用中,为用户提供了一个方便的交互方式,模仿了桌面软件中常见的...
例如,你可以为复制按钮添加自定义的CSS类,或者在复制成功后显示提示信息。 总的来说,ZeroClipboard.js提供了一种方便、跨浏览器的方式来实现网页上的文本复制功能,尤其对于那些不支持现代剪贴板API的浏览器,它...
zeroclipboard实现多浏览器复制到粘贴板功能(单个复制按钮和多个复制按钮) 为了更好的用户体验,现在很多网站中文本框的内容只需要点击复制按钮这样就能把内容复制到粘贴板了; 出于兼容性的考虑,基本上都是通过...
ZeroClipboard是一款JavaScript库,它允许网页开发者通过模拟浏览器的右键复制功能,实现在网页上复制文本到剪贴板的功能。这款库巧妙地利用了Flash技术来绕过浏览器的安全限制,因为JavaScript直接操作剪贴板在大...
ZeroClipboard 是一个JavaScript库,主要用于实现网页上的跨浏览器复制功能,尤其在处理用户希望复制文本到剪贴板的场景中非常实用。这个库巧妙地利用了Adobe Flash技术,因为Flash在浏览器中的广泛支持,可以绕过...
《使用ZeroClipboard实现多复制》 在Web开发中,我们经常遇到需要将页面中的文本内容复制到用户剪贴板的需求。传统的JavaScript无法直接操作剪贴板,为了解决这个问题,第三方库ZeroClipboard应运而生。这篇博文将...
2. **实例化对象**:在JavaScript中,你需要创建一个ZeroClipboard实例,通常绑定到一个元素上,这个元素将作为复制按钮。例如: ```javascript var client = new ZeroClipboard(document.getElementById(...
Zero Clipboard 是一个JavaScript库,它允许用户通过模拟浏览器的复制功能,实现在网页上...通过结合使用jQuery和Zero Clipboard,我们可以创建多个自定义的复制按钮,每个按钮对应不同的文本内容,从而提升用户体验。
2. **创建复制按钮**:在HTML中定义一个用于复制的按钮,并设置相应的ID。 ```html 复制到剪贴板 ``` 3. **初始化ZeroClipboard**:在JavaScript中,你需要实例化一个ZeroClipboard对象,并关联到刚刚创建的按钮。...
这里的`'my-button'`是你要复制按钮的ID。ZeroClipboard实例与按钮关联后,还需要设置要复制的文本。你可以通过`clip.setText()`方法来实现: ```javascript clip.setText('要复制的文本'); ``` 此外,...
3. **绑定事件**:ZeroClipboard.js提供了多个事件,如`onLoad`、`onMouseOver`、`onMouseOut`、`onCopy`等,你可以根据需求绑定这些事件来实现特定的功能。例如,当复制成功时,可以显示提示信息。 ```javascript ...
**ZeroClipboard** 是一个流行的JavaScript库,主要用于在网页上实现跨浏览器的复制功能。这个库巧妙地利用了浏览器的安全限制,让网页应用可以模拟系统剪贴板的操作,从而让用户能够轻松地复制文本到剪贴板。它通过...
ZeroClipboard是一款JavaScript库,它允许用户通过点击网页上的按钮或元素来复制文本到系统的剪贴板,从而提供了无浏览器限制的复制功能。这个库的工作原理是利用了Flash技术,因为JavaScript在浏览器的安全策略下...
ZeroClipboard.js的工作原理是创建一个透明的Flash对象覆盖在复制按钮上,当用户点击按钮时,实际上是触发了Flash对象的复制操作。这个库提供了一种简单、跨浏览器的API,使得开发者无需深入理解Flash技术,也能实现...
3. **绑定复制按钮**:找到用于触发复制操作的按钮元素,并将其与ZeroClipboard实例关联。你可以通过`data-clipboard-target`或`data-clipboard-text`属性指定要复制的文本。例如: ```javascript var clipButton ...
7. **样式定制**:ZeroClipboard允许开发者自定义复制按钮的样式,以融入网页设计,通过CSS调整按钮的外观和位置。 8. **集成示例**:在实际项目中,开发者可以参考ZeroClipboard提供的示例代码,快速将复制功能...
ZeroClipboard库创建了一个浮动的透明Flash对象,这个对象会覆盖在你设置的复制按钮上。当用户点击按钮时,实际上是在与Flash对象交互,Flash对象则利用其对剪贴板的访问权限来复制指定的文本内容。 **安装和引入...
**步骤二:创建复制按钮** 在HTML中创建一个用户可以点击的按钮,通常我们会设置一个`data-clipboard-text`属性,用于存储需要复制的文本: ```html 要复制的文本">点击复制 ``` **步骤三:初始化ZeroClipboard...
这个教程将指导你如何结合ZeroClipboard和jQuery创建一个具有复制功能的插件。 首先,我们需要理解ZeroClipboard的工作原理。ZeroClipboard利用了浏览器的Flash插件,创建了一个透明的Flash对象覆盖在需要复制的...