为什么ZeroClipboard在第二次点击时有效?

时间:2014-12-09 10:08:54

标签: javascript jsp copy clipboard zeroclipboard

我在这里发布了一个我的问题的例子而不是我的真实代码(代码太多......)。 “复制到剪贴板”按钮不会在第一次点击时复制任何内容...仅在第二次点击时:(请帮助

JSP文件

<!DOCTYPE html>
<html>
<head>
</head>
<body>

<button onclick="addCopyButton()">Show copy Button</button>
<div id="theCopyButton"></div>

<!-- javascript sources -->
<script src="resources/js/jquery.min.js"></script>
<script src="resources/js/copy.js"></script>
<script src="resources/js/ZeroClipboard.min.js"></script>
</body>
</html>

JS档案

$(document).ready(function(){
    ZeroClipboard.config( { moviePath: '/goblin/resources/flash/ZeroClipboard.swf' } );
});

function addCopyButton(){
    $('#theCopyButton').html('<br/><button type="button" onclick="toClipboard()">Copy to clipboard</button>');
}

function toClipboard(){
    $('#theCopyButton').attr('data-clipboard-text', 'dynamic text');
    var zeroClipboard = new ZeroClipboard($("#theCopyButton"));
}

1 个答案:

答案 0 :(得分:2)

您可以按照以下方式修改代码。

$(document).ready(function () {

        this.zero_clipboard = new ZeroClipboard($(".copy-button")).on('load', function (client, args) {
        }).on('complete', function (client, args) {   
            client.setText(args.text);
        }).on( 'mouseover', function (client, args) {
            client.setText(args.text);
        });


    });