我怎样才能让我的复制和粘贴功能保持换行格式?
How can I get my Copy and Paste function to keep new line formatting?
我只需要它在 Google Chrome 上工作,所以不需要多浏览器兼容代码。
这是我用来将文本复制到剪贴板的JS函数。
// Copy text to clip-board JS
function copy(txt){
var cb = document.getElementById("cb");
cb.value = txt;
cb.style.display='block';
cb.select();
document.execCommand('copy');
cb.style.display='none';
}
var var1='download here: \n www.link-to-download.com';
这是我的HTML
<button class="buttonClass" onclick="copy(softwareinstall)">Install software</button>
<textarea id="cb" style="display: none"></textarea>
当我点击按钮时,它会复制到剪贴板,但是当我将内容粘贴到其他地方时,例如记事本和 outlook,文本都在一行上,\n 什么都不做。
我希望将字符串分成 2 行。
先谢谢你。
这是因为输入元素不支持换行,所以你的\n丢失了。尝试改用文本区域:
// Copy text to clip-board JS
function copy(txt){
var cb = document.getElementById("cb");
cb.value = txt;
cb.style.display='block';
cb.select();
document.execCommand('copy');
cb.style.display='none';
}
var var1='first line of text \n second line of text';
<button onclick="copy(var1)">Copy Option 1</button>
<textarea id="cb" style="display: none"></textarea>
如果它是一个选项,您可以使用 navigator.clipboard.writeText()
而不是 document.execCommand()
轻松保留您的文本内容,因为它不会从 DOM 复制。类似于:
const str = "Text \n on \n different lines";
navigator.clipboard.writeText(str).then(() =>
console.log("copied")
);
我只需要它在 Google Chrome 上工作,所以不需要多浏览器兼容代码。
这是我用来将文本复制到剪贴板的JS函数。
// Copy text to clip-board JS
function copy(txt){
var cb = document.getElementById("cb");
cb.value = txt;
cb.style.display='block';
cb.select();
document.execCommand('copy');
cb.style.display='none';
}
var var1='download here: \n www.link-to-download.com';
这是我的HTML
<button class="buttonClass" onclick="copy(softwareinstall)">Install software</button>
<textarea id="cb" style="display: none"></textarea>
当我点击按钮时,它会复制到剪贴板,但是当我将内容粘贴到其他地方时,例如记事本和 outlook,文本都在一行上,\n 什么都不做。
我希望将字符串分成 2 行。
先谢谢你。
这是因为输入元素不支持换行,所以你的\n丢失了。尝试改用文本区域:
// Copy text to clip-board JS
function copy(txt){
var cb = document.getElementById("cb");
cb.value = txt;
cb.style.display='block';
cb.select();
document.execCommand('copy');
cb.style.display='none';
}
var var1='first line of text \n second line of text';
<button onclick="copy(var1)">Copy Option 1</button>
<textarea id="cb" style="display: none"></textarea>
如果它是一个选项,您可以使用 navigator.clipboard.writeText()
而不是 document.execCommand()
轻松保留您的文本内容,因为它不会从 DOM 复制。类似于:
const str = "Text \n on \n different lines";
navigator.clipboard.writeText(str).then(() =>
console.log("copied")
);