javascript - 将默认值复制到剪贴板
问题描述
我想将默认值复制到剪贴板,而不使用输入。那是我的功能有问题,但我不知道它是什么。
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>
解决方案
从 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>
推荐阅读
- c++ - 使用 Boost::Python、cmake 和 windows 编译
- linux - 如何退出 Linux 控制台中的输入
- java - 有可能减少这种情况吗?(或 Java 中的解构赋值)
- ruby - 将纯 GitHub HTML 网站转换为 Jekyll(终端错误)
- java - Twitter4j,尝试从应用程序中验证第二个帐户显示错误消息
- vba - Powerpoint 窗帘“关闭”过渡效果解决方法
- ios - 有没有办法解决 Azure Active Directory 条件客户端访问
- java - Tomcat 8.5 [HTTPUtils] 域名 [http://localhost:8080] 不允许
- sql - 寻找在 SQL 中动态选择列源的更好方法
- angular - 订阅 URL 更改,除了在 Angular 中添加/更改片段