零剪贴板在第一次点击时不起作用

ZeroClipboard doesn't work in first click

本文关键字:不起作用 第一次 剪贴板      更新时间:2023-09-26

我正在尝试使用零剪贴板将文本复制到剪贴板。它工作得很好,但仅在第二次单击按钮时,而不是在第一次单击中。我在谷歌上看到的解决方案很少,但没有一个能解决我的问题。我试图将 ZeroClipboard 事件放在单击按钮事件之外,并将其放在$(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);
    } );
});

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

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