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)
);