I'm looking to create a jQuery (or javascript) button
that selects everything in a textarea
and then copies the text to your clipboard
when you clicked on button.
I have found some examples using the focus event. But I'm looking for a button that you actually have to click for the select and copy.
How can i do this work?
The next most common work-around is to just place the clipboard-bound text into an input field, move the focus to that field and advise the user to press Ctrl + C to copy the text.
The function copies the visible text of the element to the clipboard. This works as if you had selected the text and copied it with ctrl+c. Use the parameter "id" to select the element you want to copy.
You need to use select()
to selecting text of textarea
and use execCommand('copy')
to coping selected text. Its work in upper version of browsers.
$("button").click(function(){
$("textarea").select();
document.execCommand('copy');
});
Also you can do this work without jquery as shown in bottom
document.querySelector("button").onclick = function(){
document.querySelector("textarea").select();
document.execCommand('copy');
}
document.querySelector("button").onclick = function(){
document.querySelector("textarea").select();
document.execCommand('copy');
};
<button>Select</button>
<br/>
<textarea></textarea>
It is possible to make this without using jQuery.
Here's a pure js solution.
function copy() {
let textarea = document.getElementById("textarea");
textarea.select();
document.execCommand("copy");
}
<textarea id="textarea"></textarea>
<br>
<button onclick="copy()">Copy</button>
When your textarea element has disabled for some reason, or if you don't want to visual effect of selected texts, then the solution below works for you.
$("#button_id").click(function(){
var $temp = $("<textarea></textarea>");
$("body").append($temp);
$temp.val($("#textarea_source").val()).select(); <-- #textarea_source: id of textarea source to be copied to the clipboard
document.execCommand("copy");
$temp.remove();
})
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With