Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

120
Vistas
mi código de copia al portapapeles en JavaScript no funciona

como habrás adivinado por mi pregunta y como interpretarás mirando mi código, soy un principiante. esta es la primera aplicación real que traté de escribir en javascript y me encantaría entender por qué no funciona.

 var button = document.getElementById("button"); var text = document.getElementById("text"); function button() { text.select(); text.setSelectionRange(0, 99999); navigator.clipboard.writeText(text.value); alert("you copied this text"); }

el botón es un evento onclick en html y el texto es una entrada en html. Muchísimas gracias

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Como se mencionó, writeText es una promesa, pero también la Clipboard API necesita permiso. Marque esto si el permiso se concede o no

 function myFunction() { /* Get the text field */ var copyText = document.getElementById("myText"); /* Select the text field */ copyText.select(); copyText.setSelectionRange(0, 99999); /* For mobile devices */ /* Copy the text inside the text field */ navigator.clipboard.writeText(copyText.value).then(function() { alert("Copied to clipboard successfully!"); }, function(error) { alert("ERROR:\n"+error); });; } async function CheckPermission(){ const readPerm = await navigator.permissions.query({name: 'clipboard-read', allowWithoutGesture: false }); const writePerm = await navigator.permissions.query({name: 'clipboard-write', allowWithoutGesture: false }); // Will be 'granted', 'denied' or 'prompt': alert('Read: '+readPerm.state+'\nWrite: '+writePerm.state); }
 <input type="text" value="ASDF" id="myText"> <button onclick="myFunction()">Copy text</button><br><br> <button onclick="CheckPermission()">Check Permission</button>

Si es así, necesita pedir permiso. Más información aquí .

about 4 years ago · Juan Pablo Isaza Denunciar

0

No sé si debería escribir esto como una respuesta o qué. pero de todos modos reescribí el código y terminó así:

 var text = document.getElementById("text"); var button = document.getElementById("button"); function buttonholder() { text.select(); text.setSelectionRange(0, 99999) navigator.clipboard.writeText(text.value); } button.addEventListener("click",buttonholder);

gracias a todos los que respondieron. funciona bien. No sé por qué el primer código no funcionó, pero bueno, el segundo código es mucho mejor que el último, gracias por ayudar. algunas de sus referencias me hicieron pensar en addEventListener.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda