當前代碼附加一個按鈕以快速選擇<pre>
標記中的某些代碼。我想添加的是將該內容複製到剪貼板並將按鈕文本更改爲「複製」的功能。自定義選擇功能,複製到剪貼板pure JS
如何通過修改下面的當前工作代碼來實現它?我不介意使用clipboard.js,jQuery位或自從Chrome 43以來推出的原生JS支持。我只是不知道如何從這裏繼續添加我需要的內容。
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;
}
}
我加了獎金。請幫助:) – user2513846
你能否添加相關的html樣本? – rajuGT
請添加與實際嘗試使用'clipboard.js'相關的代碼或您提到的其他解決方案之一。現在,它看起來像你遞給我們代碼,並要求我們向它注入一個解決方案。 – zero298