我使用ZClip(http://www.steamdev.com/zclip/)在多个链接的网页上启用"复制到剪贴板"功能.在这种情况下,我面临两个问题:
我尝试$('a.copy').zclip('remove');在链接上使用之前初始化zclip.此功能显示在zclip网站上,但它没有导致删除额外的警报框.它只删除与链接关联的swf,而不删除绑定到链接的事件.基本上我想了解如何做以下任何一项:
Saganbyte,
我想到了几种方法.
首先,让我们假设您的四个图像/视频/音频/文档div中的每一个的HTML都是这样的:
<div class="content" ...>
...
<input class="copyMe" /><!-- the element whose value is to be copied -->
</div>
Run Code Online (Sandbox Code Playgroud)
这两种方法都依赖于单个"复制"按钮,当zClip初始化时,该按钮是可见的:
<a id="copy">Copy</a>
Run Code Online (Sandbox Code Playgroud)
你的HTML无疑是不同的,但应该很容易适应下面的想法.
该解决方案依赖于:
class="copyWrapper",其中可以移动"复制"按钮.copyWrapper每次单击选项卡时,将"复制"按钮移动到活动面板的元素中.初始化zClip如下:
var $copyButton = $('a#copy').zclip({
path: 'js/ZeroClipboard.swf',
copy: function() {
return $(this).closest('div.content').find('.copyMe').val(); //$(this) is assumed correct
}
});
Run Code Online (Sandbox Code Playgroud)
并初始化选项卡(假设jQuery UI"选项卡"),如下所示:
$(".selector").tabs({
...
show: function(event, ui) {
$(ui.panel).find('.copyWrapper').append($copyButton);
}
});
Run Code Online (Sandbox Code Playgroud)
该解决方案依赖于:
初始化zClip如下:
$('a#copy').zclip({
path: 'js/ZeroClipboard.swf',
copy: function(){
return $('.content:visible').find('.copyMe').val();
}
});
Run Code Online (Sandbox Code Playgroud)
该解决方案依赖于:
JavaScript的:
$(".selector").tabs({
...
show: function(event, ui) {
var $panel = $(ui.panel);
if(!$panel.data('zClip_initialized')) { //If zClip not initialized in theis panel, then initialize it.
$('a.copy').zclip({
path: 'js/ZeroClipboard.swf',
copy: function() {
return $(this).closest('tr').find('.....').val();//Lots of guesswork here. You should have written this already.
}
});
$panel.data('zClip_initialized', true);//Raise a boolean flag to indicate that zClip is already initialized
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |