我正在尝试使用ZeroClipboard将文本复制到剪贴板。
效果很好,但仅在第二次单击按钮时有效,而在第一次单击中则无效。
我在Google中看到的解决方案很少,但是都没有解决我的问题。
谢谢!
$("body").on('click','.copyToClipboard', function (event) {
var clientTarget = new ZeroClipboard( $("#copy_to_clipboard"), {
moviePath: "js/ZeroClipboard.swf",
debug: false
} );
$('#copy_to_clipboard').attr('data-clipboard-text', texttocopy);
alert(texttocopy);
clientTarget.on( "load", function(clientTarget)
{
$('#flash-loaded').fadeIn();
clientTarget.on( "complete", function(clientTarget, args) {
clientTarget.setText( args.text );
$('#data-to-copy-text').fadeIn();
} );
alert(args);
} );
});
最佳答案
您需要在点击功能之外初始化剪贴板,例如,
var clientTarget = new ZeroClipboard($("#copy_to_clipboard").attr('data-clipboard-text',texttocopy ),{
moviePath: "js/ZeroClipboard.swf",
debug: false
}).on( "load", function(clientTarget){
$('#flash-loaded').fadeIn();
clientTarget.on( "complete", function(clientTarget, args) {
clientTarget.setText( args.text );
$('#data-to-copy-text').fadeIn();
});
alert(args);
});
// get the text only on click of .copyToClipboard
$("body").on('click','.copyToClipboard', function (event) {
var texttocopy = $('#copy_to_clipboard').attr('data-clipboard-text');
alert(texttocopy);
});
关于javascript - jQuery-ZeroClipboard仅在第二次单击时有效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29072649/