Copiar contenido de DIV Javascript

Si te pareció útil. Comparte

Hola que tal va todo? Hoy les traigo una función que copia el texto dentro de un div (o cualquier cosa en realidad que sea seleccionable). Como solo se puede copiar desde un input toma el texto lo escribe a un textarea, lo copia y luego elimina el elemento creado:

function copiar(){      
// Crea un input para poder copiar el texto dentro
let copyText = document.getElementById('copy').innerText
const textArea = document.createElement('textarea');
textArea.textContent = copyText;
document.body.append(textArea);
textArea.select();
document.execCommand("copy");
// Delete created Element
textArea.remove()
}

La ejecución de la función ocurre tan rápido que no se ve el textarea, pero si copias un texto muy largo o en conexiones lentas se vera. para lo cual quizá quieras crear el elemento con CSS personalizado para ocultarlo. Coméntanos tu solución CSS para esto!

Lo he probado con un div seteandole un id=”copy”. Aunque creo que funcionaria con cualquier cosa que pueda tener un id. Ten cuidado que si hay texto dentro de un elemento hijo también lo copia, por ejemplo

<div id="copy"> Esto 
<div> Aquello</div>
</div>

Copiaría “Esto Aquello”. Así que tenlo en cuenta. Que tengas un gran día!

Written By José Miguel Concha Parra

Deja un comentario