我希望能够使用它附带的复制按钮复制class属性的值。
由于缺乏更好的措辞,这里有一个例子:
目前,复制按钮仅适用于一个复制按钮(以先到者为准)。
如何使用多个按钮从多个元素进行复制?
代码:
$(document).ready(function() {
$('.copylink').zclip({
path: '/flash/ZeroClipboard.swf',
copy: function(){ return $(this).attr('data-copy-shorturl'); },
afterCopy: function()
{
console.log($(this).attr('data-copy-shorturl') + " was copied to clipboard");
}
});
});
所有按钮都有相同的类等:
<button class="copyshortened copylink" data-copy-shorturl="http://litl.it/{{$link->short_url}}">copy</button>
我不确定jquery中为什么$(this)
,似乎无法正常工作。
答案 0 :(得分:2)
我知道你要做的是什么,但我认为你的语法有点不对。
您正在将 zclip 应用为事件而不是指令。
试试这个
$('.copylink').each(function(){
$(this).zclip({
path : '/flash/ZeroClipboard.swf',
copy: function(){ return $(this).attr('data-copy-shorturl'); },
afterCopy: function()
{
console.log($(this).attr('data-copy-shorturl') + " was copied to clipboard");
}
});
});
$('.copylink').each(function(){
$(this).zclip({
path : '/flash/ZeroClipboard.swf',
copy: function(){ return $(this).attr('data-copy-shorturl'); },
afterCopy: function()
{
console.log($(this).data('copy-shorturl') + " was copied to clipboard");
}
});
});
显然,应该通过jQuery&{39} data function
访问data-copy-shorturl
属性
答案 1 :(得分:0)
似乎对我来说很完美。请检查JS FIDDLE。如果我误解了你的问题,请告诉我。
HTML:
<button class="copyshortened copylink" data-copy-shorturl="http://google.com">copy google link</button>
<button class="copyshortened copylink" data-copy-shorturl="http://yahoo.com">copy yahoo link</button>
<强>的jQuery 强>
window.onload = loaded();
function loaded()
{
$('.copylink').zclip({
path:'http://www.steamdev.com/zclip/js/ZeroClipboard.swf',
copy: function(){ return $(this).attr('data-copy-shorturl'); },
afterCopy: function()
{
console.log($(this).attr('data-copy-shorturl') + " was copied to clipboard");
}
});
}