I spent a good 20 min searching online for this, but couldn't find it. What I want is to to be able to copy a text string on click without a button. The text string will be inside a "span" class.
Any help would be greatly appreciated. Thanks!
Copy can also be performed by clicking the mouse's middle button (i.e., the scroll wheel button) while pressing the Ctrl key if option Middle Mouse Button Paste is enabled.
Just add the clipboard. js or min file. While initiating, use the class which has the html component to be clicked and just pass the id of the component with the content to be copied, to the click element.
You can attach copy
event to <span>
element, use document.execCommand("copy")
within event handler, set event.clipboardData
to span
.textContent
with .setData()
method of event.clipboardData
const span = document.querySelector("span"); span.onclick = function() { document.execCommand("copy"); } span.addEventListener("copy", function(event) { event.preventDefault(); if (event.clipboardData) { event.clipboardData.setData("text/plain", span.textContent); console.log(event.clipboardData.getData("text")) } });
<span>text</span>
Try this .document.execCommand('copy')
function copy(that){ var inp =document.createElement('input'); document.body.appendChild(inp) inp.value =that.textContent inp.select(); document.execCommand('copy',false); inp.remove(); }
<p onclick="copy(this)">hello man</p>
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