Jquery - ZeroClipboard работи само при второ кликване

Опитвам се да копирам текст в клипборда с помощта на ZeroClipboard. Работи добре, но само при второто щракване върху бутона, а не при първото щракване. Видях няколко решения в Google, но нито едно от тях не реши проблема ми. Благодаря!

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

});

person user2026    schedule 16.03.2015    source източник


Отговори (1)


Трябва да инициализирате клипборда извън вашата функция за щракване като,

var clientTarget =  new ZeroClipboard($("#copy_to_clipboard").attr('data-clipboard-text',texttocopy ),{
    moviePath: "js/ZeroClipboard.swf",
    debug: false
}).on( "load", function(clientTarget){
    $('#flash-loaded').fadeIn();
    clientTarget.on( "complete", function(clientTarget, args) {
        clientTarget.setText( args.text );
        $('#data-to-copy-text').fadeIn();
    });
    alert(args);
});

// get the text only on click of .copyToClipboard
$("body").on('click','.copyToClipboard', function (event) {
    var texttocopy = $('#copy_to_clipboard').attr('data-clipboard-text');
    alert(texttocopy);
});
person Rohan Kumar    schedule 16.03.2015
comment
Това решение не работи. Текстът все още не се копира при първото щракване. @Рохан Кумар - person user2026; 16.03.2015
comment
Трябва да добавите атрибут към събитието завършване на zeroclipboard, след което можете да влезете в събитието за кликване. - person Rohan Kumar; 16.03.2015
comment
Можете ли да редактирате отговора си с това допълнение. Не те разбирам точно @Rohan Kumar. Благодаря много! - person user2026; 16.03.2015
comment
Можете ли да направите онлайн демо за него. - person Rohan Kumar; 16.03.2015