javascript - Jquery - ZeroClipboard 仅在第二次单击时有效

标签 javascript jquery zeroclipboard

我正在尝试使用 ZeroClipboard 将文本复制到剪贴板。 它效果很好,但仅在第二次单击按钮时有效,而在第一次单击时无效。 我在谷歌中看到了很少的解决方案,但没有一个解决了我的问题。 谢谢!

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

相关文章:

javascript - 为什么我的javascript代码不能继承Animal类的原型(prototype)?

javascript - 在 iPhone 上的移动 Safari 中选择文本

jquery - 使用 $.getJSON 检索 CSV 数据

javascript - 如何在 Jquery 中自动进行转换?

javascript - ZeroClipboard/zClip——如何绑定(bind)到实时事件?

javascript - 使用 ZeroClipboard : want to get formatted text 从剪贴板复制

javascript - 谁能解释一下这个表达式的作用吗?

java - Android facebook sdk 使用graph api

php - 将 friend 姓名的 php 字符串传递给 javascript 函数

jQuery:当 url 中存在特定哈希值时触发函数...?