You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
595 B
JavaScript
20 lines
595 B
JavaScript
![]()
2 years ago
|
function changeIcon(copyDiv, className) {
|
||
|
copyDiv.classList.add(className);
|
||
|
setTimeout(() => copyDiv.classList.remove(className), 2500);
|
||
|
}
|
||
|
|
||
|
document.querySelectorAll("pre").forEach((block) => {
|
||
|
const copyDiv = document.createElement("div");
|
||
|
copyDiv.className = "copy-code";
|
||
|
block.prepend(copyDiv);
|
||
|
|
||
|
copyDiv.addEventListener("click", function () {
|
||
|
const code = block.innerText;
|
||
|
navigator.clipboard.writeText(code).then(() => {
|
||
|
changeIcon(copyDiv, "checked");
|
||
|
}, () => {
|
||
|
changeIcon(copyDiv, "error");
|
||
|
});
|
||
|
});
|
||
|
});
|