Я хочу скопировать текст в тег в списке - PullRequest
0 голосов
/ 15 мая 2019

Шаг 1 получить кнопку формы идентификатора

Шаг 2 скопировать текст в тд для того же идентификатора

Codepen) https://codepen.io/terecal/pen/LoxmbP?editors=1010

    $(".copy_code").click(function(e){
        e.preventDefault();
        var id = this.id
        alert("id : ", id)
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
  <td>code</td>
  <td colspan="122" id="my_code_122"> hello world </td>
  </tr>  
</table>
<button type="button" name="button" id="122" class="copy_code">copy</button>

Возможно ли это?

ps

Я применил ваш метод.

Следующий код работаетотлично

`

    $(".copy_code").click(function(e){
        e.preventDefault();
        var id = $(this).attr('id')
        alert("id : " + id)

        var text = document.getElementById(id),
        textVal = text.innerText;
        textTd = $(`#my_code_${id}`).text()

        alert("copy code " + textTd) // textVal  code copy

        // I want to copy this text as if pressing ctrl + c. Is there a way? Thank you if you let me know.
    });

`

Проблема почти решена.

Я просто хочу скопировать полученный текст, как будто я нажал Ctrl+ C

Можете ли вы сказать мне, как?

ps2

текущий код это

    $(".copy_code").click(function(e){
        e.preventDefault();
        var id = $(this).attr('id')
        alert("id : " + id)

        var text = document.getElementById(id),
        textVal = text.innerText;
        textTd = $(`#my_code_${id}`).text()

        alert("copy code " + textTd) // textVal  code copy
        // I want to copy this text as if pressing ctrl + c. Is there a way? Thank you if you let me know.

        var dummy = document.createElement('textarea');
        dummy.value = textTd;
        //
        document.body.appendChild(dummy );
        dummy.select();
        //
        document.execCommand('copy');
        document.body.removeChild(dummy);

        alert("copy code2 " + textTd)
    });

и копия обычно работает

но после ctrl + v

это новая строка (br) не работает ^^ ;;

original:
from django.contrib import admin
from django.urls import path, include
from . import views

app_name= 'css_challenge'
urlpatterns = [

]

copy:
 from django.contrib import adminfrom django.urls import path, includefrom . import views

app_name= 'css_challenge'urlpatterns = [

] 

возможно ли применить новую строку ??

Ответы [ 3 ]

0 голосов
/ 15 мая 2019

Возможно, попробуйте это. Прежде всего, вам нужно поставить +, а не, в вашем предупреждении. Во-вторых, я не знаю, нужна ли вам функция копирования, потому что вы хотите вставить текст в другое место. AFAIK, я только "скопировал", как это на входах / textareas. Я не уверен, что другие элементы поддерживают этот тип API. В любом случае, приведенный ниже код должен захватывать текстовое содержимое. Я не проверял это, но вы идете.

$(".copy_code").click(function(e){
        e.preventDefault();
        var id = this.id
        alert("id : "+ id)

        var text = document.getElementById(id),
            textVal = text.innerText;

        console.log(textVal);
    });
0 голосов
/ 15 мая 2019

Вы можете скопировать текст в буфер обмена с помощью JavaScript - это немного неудобно. Текст должен быть частью HTML-элемента.

Давайте начнем с создания фиктивного текстового элемента

var dummy = document.createElement('textarea');

и присвойте ему значение вашей переменной

dummy.value = textTd;

добавить манекен в DOM

document.body.appendChild(el);

выберите его

dummy.select();

наконец, скопируйте текстовое содержимое в системный буфер обмена

document.execCommand('copy');

и в конечном итоге снова удалить созданный элемент из DOM

document.body.removeChild(dummy);
0 голосов
/ 15 мая 2019

Может быть, вы можете попробовать:

$(".copy_code").click(function(e){
        e.preventDefault();
        var id = $(this).attr('id');
        alert(id)

        // var copyText = document.getElementById("my_code");
        // copyText.select();
        // document.execCommand("copy");
        // alert("Copied the text: " + copyText.value);

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...