Я использую сценарий jQuery (копирование в буфер обмена. js), чтобы скопировать текст в буфер обмена, а затем вставить его в другое место.
Страница, содержащая строки, которые мне нужно скопировать, загружается из базы данных.
Скрипт хорошо работает даже после удаления некоторых строк из базы данных и удаления их со страницы с помощью вызовов Ajax.
Он перестает работать, когда я динамически добавляю новую строку на страницу с помощью вызова Ajax.
Я предполагаю, что мне нужно обернуть код или элемент в так или иначе, но я не знаю как. Не могли бы вы мне помочь, пожалуйста?
Это мой jQuery код:
<script>
$(document).ready(function(){
$('.a_copy_img').click(function(){
$(this).parents('#tlist > tr:first').find('td.text').CopyToClipboard();
});
});
</script>
Это та часть страницы, которая изначально показывает таблицу со строками (и она работает на first):
<div class="my-2">
<table class="table">
<thead class="bg-light">
<tr>
<th scope="col">#</th>
<th scope="col">Immagine</th>
<th scope="col">Data</th>
<th scope="col">Copia</th>
<th scope="col">Cancella</th>
</tr>
</thead>
<tbody id="tlist">
<?php
$html = '';
$c = new Myclass();
$html = $c->list_imgs($pdo);
echo $html;
?>
</tbody>
</table>
</div>
Это часть функции, которая показывает строку в таблице выше:
$this->html .= '<tr><th class="no_text" scope="row">' . $this->row['id'] . '</th><td class="text">' . $this->row['foto'] . '</td><td class="no_text">' . $this->row['reg_date'] . '<td class="text-center"><a class="a_copy_img" title="copia immagine" data-clipboard-target=".text" href="#" rel="' . $this->row['id'] . '"' . '><i class="fa fa-clone" aria-hidden="true"></i></a></td>' . '<td class="text-center"><a class="a_trash_img" title="cancella immagine" href="#" rel="' . $this->row['id'] . '"' . '><i class="fas fa-trash" aria-hidden="true"></i></a></td>' . '</tr>';