Ich habe kürzlich an einem Frontend-Projekt gearbeitet, bei dem die Notwendigkeit bestand, die Werte im Eingabe- oder Textbereich über Schaltflächen direkt in das Pasteboard zu kopieren. Im Folgenden teilt Ihnen der Herausgeber meine Implementierungsideen und meinen Code mit, und Sie können diese direkt in das Projekt einführen.
Der spezifische Code lautet wie folgt:
function copyToClipboard(elem) { // create hidden text element, if it doesn't already exist var targetId = "_hiddenCopyText_"; var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA"; var origSelectionStart, origSelectionEnd; if (isInput) { // can just use the original source element for the selection and copy target = elem; origSelectionStart = elem.selectionStart; origSelectionEnd = elem.selectionEnd; } else { // must use a temporary form element for the selection and copy target = document.getElementById(targetId); if (!target) { var target = document.createElement("textarea"); target.style.position = "absolute"; target.style.left = "-9999px"; target.style.top = "0"; target.id = targetId; document.body.appendChild(target); } target.textContent = elem.textContent; } // select the content var currentFocus = document.activeElement; target.focus(); target.setSelectionRange(0, target.value.length); // copy the selection var succeed; try { succeed = document.execCommand("copy"); } catch(e) { succeed = false; } // restore original focus if (currentFocus && typeof currentFocus.focus === "function") { currentFocus.focus(); } if (isInput) { // restore prior selection elem.setSelectionRange(origSelectionStart, origSelectionEnd); } else { // clear temporary content target.textContent = ""; } return succeed; }
Wir können diese Methode direkt so aufrufen:
copyToClipboard(document.getElementById("name"));
Auf diese Weise wird der Wert mit der ID-Namen in das Pasteboard eingegeben.
Der Herausgeber stellt Ihnen hier den JavaScript-Code zum Kopieren von Inhalten in das Pasteboard vor. Ich hoffe, er wird Ihnen hilfreich sein!