我正在尝试使用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);
} );
});
答案 0 :(得分:0)
我认为您需要在点击它之前设置零剪贴板。在您的代码中,在实际点击之前,您不会将其设置为处理点击。您应该找到页面上需要处理点击的所有对象,并在文档就绪时设置它们。像这样的东西:
$(function () {
$('.copyToClipboard').zclip({ /* zclip settings */ });
});