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