代码行号生成器
`;
btnYes.onclick = () => {
if(btnYes.value === '1') {
str = text.value;
if(!str) return;
str = str.replaceAll('<', '<');
str = str.replaceAll('>', '>')
text.value = '\n' + str + '\n
\n\n' + _js.replaceAll('<', '<').replaceAll('>', '>');
sdiv = document.createElement('div');
sdiv.innerHTML = '' + str + '
';
stage.appendChild(sdiv);
linenumber();
btnCopy.style.display = 'inline-block';
btnYes.value = '0';
}else{
text.value = '';
btnYes.value = '1';
btnCopy.style.display = 'none';
stage.removeChild(sdiv);
}
btnYes.innerText = ['重置到初始状态','生成行号代码'][+btnYes.value];
};
btnCopy.onclick = () => {
let copiedStr = text.value;
if(navigator.clipboard) {
navigator.clipboard
.writeText(copiedStr)
.then (() => {
showMsg(msgBox,'成功复制到剪切板!');
})
.catch(err => {
console.log(err);
});
}else{
text.focus;
text.select();
document.execCommand('copy');
showMsg(msgBox,'成功复制到剪切板啦!');
}
};
text.onkeydown = (e) => {
if(e.key === 'Tab') {
e.preventDefault();
const fourSpaces = '\t';
let currentValue = text.value;
const startPos = text.selectionStart;
const endPos = text.selectionEnd;
text.value = currentValue.slice(0, startPos) + fourSpaces + currentValue.slice(endPos);
text.selectionStart = text.selectionEnd = startPos + fourSpaces.length;
}
};
const showMsg = (ele,msg) => {
ele.value = msg;
btnCopy.style.display = 'none';
setTimeout(() => {
ele.value = '';
}, 2000);
};