Как заставить код работать с другими тегами и добавить к нему класс? - PullRequest
0 голосов
/ 05 мая 2019

Я использую следующий код для автоматического копирования выделенного текста:

function copy(elem){
    if($(elem).text()){
        var dummy = document.createElement("textarea");
        document.body.appendChild(dummy);
        dummy.value = $(elem).text();
        dummy.select();
        document.execCommand("copy");
        document.body.removeChild(dummy);
    }else{
        input  = $(elem).val();
        elem.select();//Select the text in the input element 
        document.execCommand('copy');//copy it 
    }



    $(elem).next().text('discount code has been copied);
    setTimeout(function(){$(elem).next().text('');}, 2000);//
}

`

У меня есть два вопроса относительно этого кода:

  1. Если я хочу использовать его в своем посте, я добавляю этот код: <p class="kod-rabatowy" onclick="copy(this)">example text that needs to be copied</p> в текстовом редакторе. Дело в том, что весь скрипт работает только с тегами <p> - мне действительно нужно отображать текст в одной строке. Как я могу заставить его работать и с другими тегами (<b> было бы идеально)?

    1. Как я могу добавить класс ко всему сценарию, чтобы я мог стилизовать текст, говоря, что код был скопирован? Здесь вы можете увидеть, как это работает сейчас: http://test2.gromocje.pl/?p=21 (нажмите кнопку «проверить», и вы скопируете ее).

1 Ответ

1 голос
/ 06 мая 2019

Похоже, что он работает нормально (я не знаю о постах Wordpress): https://jsbin.com/yoropunebu/edit?html,css,js,output

Я также добавил класс, который вы хотели:

    $(elem).next().addClass("copied-response").text('discount code has been copied');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...