Javascript 无法将文本复制到剪贴板
我想复制一些写入剪贴板的文本 我创建了以下函数:Javascript 无法将文本复制到剪贴板,javascript,Javascript,我想复制一些写入剪贴板的文本 我创建了以下函数: function copyTextToClipboard(){ document.getElementById("contactsInfo").select(); document.getElementById("contactsInfo").setSelectionRange(0, 99999) document.execCommand("copy"); } 当用户单击元素时调用: document.getElementById("co
function copyTextToClipboard(){
document.getElementById("contactsInfo").select();
document.getElementById("contactsInfo").setSelectionRange(0, 99999)
document.execCommand("copy");
}
当用户单击元素时调用:
document.getElementById("contactsInfo").addEventListener("click", ()=>{
copyTextToClipboard();
})
HTML中的元素:
<div class="information-container">
<p id="contactsInfo">Email: allab.di@ubi.pt</p>
<p id="contactsInfo">Phone: +310961810340</p>
<p id="contactsInfo">Street: Bolama</p>
</div>
电子邮件:allab。di@ubi.pt
电话:+310961810340
街道:博拉马
但是它没有复制它,有什么问题吗?正如有人在评论中所说,文档中的id必须是唯一的 如果希望用相同的名称标识类或名称,请使用它们
<div class="information-container">
<p class="contactsInfo">Email: allab.di@ubi.pt</p>
<p class="contactsInfo">Phone: +310961810340</p>
<p class="contactsInfo">Street: Bolama</p>
</div>
编辑:
另外,
不支持select()
这是否回答了您的问题?id
在文档中必须是唯一的。
function copyTextToClipboard(){
const el = document.createElement("textarea");
el.value = this.innerHTML;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
}
document.querySelectorAll('.contactsInfo').forEach(
el => el.addEventListener('click', copyTextToClipboard)
);