C’est ça 🙂 J’ai une div avec l’id #toCopy et un bouton avec l’id #copy . Quel est le meilleur moyen de copier le contenu #toCopy dans le presse-papiers en appuyant sur #copy ?
MISE À JOUR DE RÉPONSE Javascript a été restreint d’utiliser le presse-papiers, au début. mais de nos jours, il supporte les commandes copier / coller. Voir la documentation de mozilla et caniuse.com.
document.execCommand('paste')
assurez-vous de prendre en charge les navigateurs qui ne le font pas.
https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand http://caniuse.com/#search=command
Le Javascript n’est pas autorisé à utiliser le presse-papier, mais d’autres plugins comme Flash ont access.
Comment copier dans le presse-papiers en JavaScript?
Vous pouvez copier dans le Presse-papiers presque dans n’importe quel navigateur à partir d’ éléments d’ entrée uniquement (éléments .value
propriété .value
), mais vous ne pouvez pas .value
d’éléments tels que
,
, … (éléments
.innerHTML
propriété).
Mais j’utilise cette astuce pour le faire:
innerHTML
de
vers la nouvelle
.value
de
dans le presse-papier
nous venons de créer function CopyToClipboard (containerid) { // Create a new textarea element and give it id='temp_element' var textarea = document.createElement('textarea') textarea.id = 'temp_element' // Optional step to make less noise on the page, if any! textarea.style.height = 0 // Now append it to your page somewhere, I chose document.body.appendChild(textarea) // Give our textarea a value of whatever inside the div of id=containerid textarea.value = document.getElementById(containerid).innerText // Now copy whatever inside the textarea to clipboard var selector = document.querySelector('#temp_element') selector.select() document.execCommand('copy') // Remove the textarea document.body.removeChild(textarea) }
This text will be copied to your clipboard when you click the button!