$$plugins.define('copy', function (element, options) { //copyButton: data-copy-btn //content to be copied: data-copy-text //tooltip: data-copy-tooltip const copyButton = element, copyButtonId = copyButton.getAttribute('data-copy-btn'), copyText = document.querySelector(`[data-copy-text='${copyButtonId}']`), tooltip = document.querySelector(`[data-copy-tooltip='${copyButtonId}']`); function copy() { var r = document.createRange(); r.selectNode(copyText); window.getSelection().removeAllRanges(); window.getSelection().addRange(r); document.execCommand('copy'); window.getSelection().removeAllRanges(); tooltip.classList.add('copyText__tooltip--open'); setTimeout(function () { tooltip.classList.remove('copyText__tooltip--open'); }, 1600); } copyButton.addEventListener("click", copy); });