Der aktuelle Code hängt eine Schaltfläche an, um schnell einen Code in einem <pre>
-Tag auszuwählen. Was ich hinzufügen möchte, ist die Möglichkeit, diesen Inhalt in die Zwischenablage zu kopieren und den Schaltflächentext in "kopiert" zu ändern.Benutzerdefinierte Funktion mit Kopieren in die Zwischenablage auswählen pure JS
Wie kann ich dies erreichen, indem ich den aktuellen Arbeitscode unten ändere? Ich hätte nichts dagegen, clipboard.js, jQuery-Bits oder nur native JS-Unterstützung zu verwenden, wie es seit Chrome 43 eingeführt wurde. Ich weiß einfach nicht, wie ich weitermachen soll, wenn ich etwas hinzufüge, was ich brauche.
function selectPre(e) {
if (window.getSelection) {
var s = window.getSelection();
if (s.setBaseAndExtent) {
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
else {
var r = document.createRange();
r.setStart(e.firstChild, 0);
r.setEnd(e.lastChild, e.lastChild.textContent.length);
s.removeAllRanges();
s.addRange(r);
}
}
else if (document.getSelection) {
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
else if (document.selection) {
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}
var diff = document.getElementById('diff_table').getElementsByTagName('tr');
var difflen = diff.length;
for(i=0; i<difflen; i++) {
var newdiff = diff[i].childNodes[1];
if (newdiff.className && (newdiff.className == 'added' || newdiff.className == 'modified')) {
newdiff.className += ' diff-select';
newdiff.innerHTML = '<div class="btnbox"><button class="btn btn-default btn-xs" onclick="selectPre(this.parentNode.nextSibling)">Select</button></div>' + newdiff.innerHTML;
}
}
ich eine Prämie hinzugefügt. Bitte helfen Sie :) – user2513846
Können Sie auch verwandte HTML-Beispiel hinzufügen? – rajuGT
Bitte fügen Sie relevanten Code hinzu, der sich darauf bezieht, "clipboard.js" oder eine der anderen von Ihnen erwähnten Lösungen zu verwenden. Im Moment sieht es so aus, als ob du uns Code gegeben hättest und uns gebeten hättest, eine Lösung hineinzustecken. – zero298