RUS
  • RUS
  • KAZ

syntax highlighting test

Последние изменения: 19.09.2023
function copyToClipboard(codeElement) {
    let copyCodeElement = codeElement.cloneNode(true);
      const iconCopy = copyCodeElement.querySelector(".omni_block-copy");

      if (iconCopy) {
        copyCodeElement.removeChild(iconCopy);
      }

      let codeText = copyCodeElement.innerText.trim();
      const omniText = document.createElement('textarea');
      omniText.style.position = 'fixed';
      omniText.style.left = '0';
      omniText.style.top = '0';
      omniText.style.opacity = '0';
      omniText.value = codeText;
      document.body.appendChild(omniText);
      omniText.focus();
      omniText.select();
      document.execCommand('copy');
      document.body.removeChild(omniText);
}

function copyButtonClick(button) {
      const parentContainer = button.parentElement;
      const codeElement = parentContainer.querySelector("pre, code");
  
      if (codeElement) {
        copyToClipboard(codeElement);
      }
}

document.addEventListener("click", function (event) {
      if (event.target.classList.contains("omni_block-copy")) {
        copyButtonClick(event.target);
      }
});

Помогла ли вам статья?