ZeroClipboard在第一次单击时不起作用

时间:2015-03-16 12:06:33

标签: javascript jquery zeroclipboard

我正在尝试使用ZeroClipboard将文本复制到剪贴板。它工作正常,但仅在第二次单击按钮而不是第一次单击时。我在谷歌看到的解决方案很少,但没有一个能解决我的问题。 我试图将ZeroClipboard事件放在click按钮事件之外,并将其放在$(document).ready(function()内,所有这些都无济于事。 你能帮我解决一下这个问题吗? 谢谢!

$("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);
    } );

});

1 个答案:

答案 0 :(得分:0)

我认为您需要在点击它之前设置零剪贴板。在您的代码中,在实际点击之前,您不会将其设置为处理点击。您应该找到页面上需要处理点击的所有对象,并在文档就绪时设置它们。像这样的东西:

$(function () {     
    $('.copyToClipboard').zclip({ /* zclip settings */ });
});