Jquery/javascript复制到剪贴板
我用它把一些文本复制到剪贴板上,代码运行得很好。它使用flash创建了一个交叉浏览器解决方案,它基于,这似乎被认为是目前最好的工作解决方案 但是,我希望在我的页面上有多个复制到剪贴板按钮或链接。这里有一个例子 此代码有效,它将优惠券代码的文本复制到剪贴板,并打开一个带有正确链接的新页面。如何在其他链接上使用该代码,而不必为每个链接/id复制该代码 仅使用类Jquery/javascript复制到剪贴板,javascript,jquery,zeroclipboard,zclip,Javascript,Jquery,Zeroclipboard,Zclip,我用它把一些文本复制到剪贴板上,代码运行得很好。它使用flash创建了一个交叉浏览器解决方案,它基于,这似乎被认为是目前最好的工作解决方案 但是,我希望在我的页面上有多个复制到剪贴板按钮或链接。这里有一个例子 此代码有效,它将优惠券代码的文本复制到剪贴板,并打开一个带有正确链接的新页面。如何在其他链接上使用该代码,而不必为每个链接/id复制该代码 仅使用类 $(function() { $('.copy').zclip({ path: 'http://shopsheep.com/js/Z
$(function() {
$('.copy').zclip({
path: 'http://shopsheep.com/js/ZeroClipboard.swf',
copy: $(this).text(),
afterCopy: function() {
window.open($(this).attr('href'));
}
});
})
不起作用:正如您在这里看到的:
如果删除afterCopy函数,您将看到$this.text将返回整个页面,而不仅仅是link标记之间的文本
做这样的事
$(function() {
$('a.copy', this).zclip({
path: 'http://shopsheep.com/js/ZeroClipboard.swf',
copy: $('a.copy', this).text(),
});
})
稍有改进,但返回链接标记之间的所有文本,如图所示。
更新:这不再有效,但我无法删除帖子 这似乎奏效了——也许有人能让它更优雅
事实上,我发现直接使用ZeroClipboard也很简单,我只是添加了这段代码,以防有人需要解决方案而不使用zclip
ZeroClipboard.setMoviePath('http://shopsheep.com/js/ZeroClipboard.swf');
$(document).ready(function() {
$(".copy").each(function(i) {
var clip = new ZeroClipboard.Client();
var myTextToCopy = $(this).text();
var myTextUrl = $(this).attr('href');
clip.setText(myTextToCopy);
clip.addEventListener('complete', function(client, text) {
window.open(myTextUrl);
});
clip.glue($(this).attr("id"));
});
});
这就是我们在Oodles技术中所遵循的 要使用“零拷贝到剪贴板”,您需要两个文件 1.ZeroClipboard.js 2.ZeroClipboard.swf 两个文件都可以从这里下载
<html>
<head>
<script src =”../ZeroClipboard.js”></script>
<script >
// configure ZeroClipboard first
ZeroClipboard.config( { moviePath : /path/swffile/ZeroClipboard.swf } );
// initialize constructor
var client = new ZeroClipboard($(“#elementid”));
/* elementid is the element on which click , the data will copy to clipboard. you can also pass multiple elements, it use jquery selector */
</script>
<body>
<input type=”text” id =”targetid”></button>
<button id =”elementid” data-clipboard-text ='data for copy’ >copy</button>
</body>
</head>
<html>
当元素上的事件accur传递到ZeroClipboard的构造函数时,ZeroClipboard自动复制数据剪贴板文本属性的值轻量级jQuery解决方案。。。重用类从任何元素复制文本
$(document).on('click', '.copytoclipboard', function(e) {
if($("#holdtext").length < 1)
$("body").append('<textarea id="holdtext" style="height:0;width:0;border:0;outline:0;resize:none;"></textarea>');
$("#holdtext").val($(this).text()).select();
document.execCommand("Copy");
});
我试过了,但没用。尝试用这段代码分叉JSFIDLE,您会发现它不起作用。我在一张桌子里试过zClip,但失败了,没有闪光。现在就直接使用ZeroClipboard。给那些决定在不留下评论的情况下否决一篇两年前的帖子的人。。。谢谢“我爱飞下来的人!”佐塔这是一篇有九年历史的帖子。事情变了。主权财富基金已经不在了,如果真的存在,它很可能会被封锁。与其在一篇九年前的帖子上发表意见,不如发表评论说这不再有效。我投票结束并删除这个问题,因为它所依据的代码已经不存在了。我不能删除我自己的答案
$(document).on('click', '.copytoclipboard', function(e) {
if($("#holdtext").length < 1)
$("body").append('<textarea id="holdtext" style="height:0;width:0;border:0;outline:0;resize:none;"></textarea>');
$("#holdtext").val($(this).text()).select();
document.execCommand("Copy");
});