web-dev-qa-db-fra.com

Copie du texte d'une zone de texte dans le presse-papiers lorsque l'utilisateur clique sur le bouton

Je cherche à créer un jQuery (ou javascript) button qui sélectionne tout dans un textarea puis copie le texte dans votre clipboard lorsque vous avez cliqué sur le bouton.

J'ai trouvé quelques exemples en utilisant l'événement focus. Mais je cherche un bouton sur lequel vous devez cliquer pour sélectionner et copier.

Comment puis-je faire ce travail?

22
GRU119

Vous devez utiliser select() pour sélectionner le texte de textarea et utiliser execCommand('copy') pour copier le texte sélectionné. Son travail dans la version supérieure des navigateurs.

$("button").click(function(){
    $("textarea").select();
    document.execCommand('copy');
});

Vous pouvez également faire ce travail sans jquery comme indiqué en bas

document.querySelector("button").onclick = function(){
  document.querySelector("textarea").select();
  document.execCommand('copy');
};
<button>Select</button>
<br/>
<textarea></textarea>
47
Mohammad

Il est possible de le faire sans utiliser jQuery.

Voici une solution js pure.

function copy() {
  let textarea = document.getElementById("textarea");
  textarea.select();
  document.execCommand("copy");
}
<textarea id="textarea"></textarea>
<br>
<button onclick="copy()">Copy</button>
8
karoluS