首页 > 解决方案 > 将默认值复制到剪贴板

问题描述

我想将默认值复制到剪贴板,而不使用输入。那是我的功能有问题,但我不知道它是什么。

var copyText = "Default value";
const showText = document.querySelector(".copied");

const copyMeOnClipboard = () => {
  copyText;
  document.execCommand("copy")
  showText.innerHTML = `Copied!`
  setTimeout(() => {
    showText.innerHTML = ""
  }, 1000)
}
      
<button class="submitBtn" onclick="copyMeOnClipboard();">Copy link</button>
<p class="copied"></p>

标签: javascripthtml

解决方案


从 MDN的页面上execCommand,强调添加:

将当前选择复制到剪贴板。启用此行为的条件因浏览器而异,并且随着时间的推移而演变。

您将需要使用剪贴板 API writeText,如下所示:

var copyText = "Default value";
const showText = document.querySelector(".copied");

const copyMeOnClipboard = () => {
    navigator.clipboard.writeText(copyText).then(() => {
        showText.innerHTML = `Copied!`
        setTimeout(() => {
            showText.innerHTML = ""
        }, 1000)
    })
}
<button class="submitBtn" onclick="copyMeOnClipboard();">Copy</button>
<p class="copied"></p>


推荐阅读