如何解决如何防止 javascript 将换行符复制到剪贴板?
我找到了一个程序,它允许我将数据从 div 复制到剪贴板。复制时,即使我的 div 中没有换行符,它也会添加换行符。如何从副本中删除任何换行符。
function copyDivToClipboard(elem) {
var range = document.createRange();
range.selectNode(document.getElementById(elem));
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
document.execCommand("copy");
window.getSelection().removeAllRanges();
}
<div id='test'>This is a test</div>
<button onclick='copyDivToClipboard("test")'>Copy to clipboard</button>
解决方法
使用 range.selectNode
代替 range.selectNodeContents
function copyDivToClipboard(elem) {
var range = document.createRange();
range.selectNodeContents(document.getElementById(elem));
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
document.execCommand("copy");
window.getSelection().removeAllRanges();
}
<div id="test">
This is a test
</div>
<button onclick='copyDivToClipboard("test")'>Copy to clipboard</button>
您正在复制的 {{ site.data.people.name }}
元素在 Javascript 复制时包含换行符作为其文本内容的一部分。如果您改为使用 div
,您将不会获得带有文本的换行符。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。