copy-text-to-clipboard example

by Sindre Sorhus

JavaScript

const copy = input => {
	const el = document.createElement('textarea');

	el.value = input;

	// Prevent keyboard from showing on mobile
	el.setAttribute('readonly', '');

	el.style.contain = 'strict';
	el.style.all = 'unset';
	el.style.position = 'absolute';
	el.style.left = '-9999px';
	el.style.fontSize = '12pt'; // Prevent zooming on iOS

	document.body.appendChild(el);
	el.select();

	let success;
	try {
		success = document.execCommand('copy');
	} catch (err) {
		success = false;
	}

	document.body.removeChild(el);

	return success;
};

const btn = document.createElement('button');
btn.textContent = 'Copy';
document.body.appendChild(btn);

let i = 0;
btn.addEventListener('click', () => {
	copy(`🦄 ${++i}`);
});