2016-05-19 6 views
0

私はZeroClipboardのJS版を使用しています。 ZeroClipboard - コピーする前に値を加算する

ユーザーがコピーボタンをクリックすると、のデータをキャプチャしたい場合は、データクリップボードのテキストを追加して、これをクリップボードにコピーします。

これは現在使用しているコードです。クリップボードにコピーする前にテキストに追加するにはどうすればよいですか?

var clip = new ZeroClipboard($("input[type='button']"), { 
    moviePath: "clip/ZeroClipboard.swf" 
}); 
clip.on('complete', function(client, args) { 
    alert ('Copied'); 
}); 

私はclip.on前にこれを使用して試してみたが、それは失敗しました:

clip.on('dataRequested', function (client, args) { 
     clip.setText(args + "NEW VALUE"); 
    }); 

任意のアイデア?

clip.on("copy", function (event) { 
    var clipboard = event.clipboardData; 
    clipboard.setData("text/plain", event.target.innerHTML + " <-- added this text!"); 
    /* 
    * for data-attribute use event.target.getAttribute("data-clipboard-text") 
    */ 
}); 

おかげ

答えて

1

Setting the clipboard textは、 'コピー' イベントハンドラ[バージョン2.x]を使用して行うことができます - 私が使用して `clip.on( 'dataRequested'、機能(クライアント、引数){ client.setText(args.text +「< - コピーし

client.on('dataRequested', function (client, args) { 
    client.setText(this.getAttribute("data-clipboard-text") + "<- Copied me!"); 
    /* 
    * for text inside component use this.innerHTML 
    */ 
}); 
+1

ありがとう: 'dataRequested' イベントハンドラを使用してFor previous version [1.x]私! }); 'コピーされたものはすべて' undefined < - コピーされました! ' テキストが表示されないのはなぜですか? – MacMan

+0

argsオブジェクトにはtextプロパティがありません。それをデバッグするか、console.log(args)という行を追加してコンソールを確認し、出力された内容を確認してください。おそらく.valueまたは.textContentまたは.innerTextを使用してテキストを取得しようとします。 – bfmags

+0

'console.log(args)'は 'Object {ctrlKey:false、shiftKey:false、altKey:false、flashVersion:" WIN 21,0,0,242 "}'しかし、もし私が 'complete.clip.on complete function'にログargs.textをコンソールしたら、値 – MacMan

関連する問題