从JavaScript复制和粘贴文本
我试图弄清楚,如何从JavaScript复制字符串和粘贴 此代码示例:从JavaScript复制和粘贴文本,javascript,Javascript,我试图弄清楚,如何从JavaScript复制字符串和粘贴 此代码示例: function copyLink() { var copyText = document.getElementById("myInput"); copyText.select(); copyText.setSelectionRange(0, 99999); document.execCommand("copy"); } 从myInputvalue复制: <
function copyLink() {
var copyText = document.getElementById("myInput");
copyText.select();
copyText.setSelectionRange(0, 99999);
document.execCommand("copy");
}
从myInput
value
复制:
<input type="text" value="ttps://site.org/" id="myInput">
<button onclick="copyText()">Copy text</button>
它位于.js
中,允许用户复制/粘贴:
function copyText() {
var text = "long text...";
...
}
它看起来很简单,但似乎我搜索不正确,因为我找不到方法。作为一个快速修复,您可以将要复制的值粘贴到输入字段(甚至是隐藏字段)中,然后以相同的方式复制 下面是一个代码笔示例:
函数copyText(){
document.getElementById('hidden')。value=new Date().toLocaleString();
var copyText=document.getElementById('hidden');
copyText.select();
document.execCommand('copy');
}
复制
粘贴到此处:
最好的方法是创建一个虚拟元素,复制内容并将其从dom中删除
// Create a dummy input
var dummy = document.createElement("input");
// Inject the content
dummy.value=copyText;
// Add it to the dom
document.body.appendChild(dummy);
// Select it
dummy.select();
// Copy the content
document.execCommand("copy");
// Clean the dom
document.body.removeChild(dummy);
您可以使用异步剪贴板API:
async function copy() {
try {
await navigator.clipboard.writeText(input.value);
console.log('Value copied to clipboard');
} catch (err) {
console.error('Failed to copy: ', err);
}
}
有关更多详细信息,请参见。var copyText=document.getElementById(“myInput”)。值可能会执行此操作。您也可以使用。@user3791775您好,您的意思是添加到myInput中,可以提供一些示例document.getElementById(“myInput”)返回html、document.getElementById(“myInput”);。值返回输入的值。我不确定代码的其余部分是否正常(select和setSelectionRange部分)您好,如果我没有弄错,我必须隐藏myInput文档。getElementById(“myInput”).style.display=“none”;但是这样它就不会复制了,我会用不透明度0来隐藏它。