2

付随するコピーボタンを使用して、クラス属性の値をコピーできるようにしたいと思います。

より良い言い回しがないため、ここに例を示します。

ここに画像の説明を入力

現在、コピー ボタンは 1 つのコピー ボタン (最初にある方) に対してのみ機能します。

複数のボタンを使用して複数の要素からコピーするにはどうすればよいですか?

コード:

      $(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>

なぜ$(this)jqueryで正しく動作しないように見えるのかわかりません。

4

2 に答える 2

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のデータ関数data-copy-shorturlを介してアクセスする必要があります

于 2014-08-04T01:54:31.163 に答える