Почему 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 ответ

Вы можете изменить свой код следующим образом.

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


    });
Другие вопросы по тегам