使用zclip复制具有多个复制按钮的多个值

时间:2014-07-31 06:38:45

标签: javascript jquery zclip

我希望能够使用它附带的复制按钮复制class属性的值。

由于缺乏更好的措辞,这里有一个例子:

enter image description here

目前,复制按钮仅适用于一个复制按钮(以先到者为准)。

如何使用多个按钮从多个元素进行复制?

代码:

      $(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),似乎无法正常工作。

2 个答案:

答案 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");
        }
    });
}