b 3
,
r 21
,
❤ 正在询问中

八月

上个月都没在自己的博客写啥,罪过罪过。

2020-8-6

js 复制文本到剪贴版

很简单,copy 既可用,需要注意 copy 函数的调用需在用户点击的回调函数中 ,不过你可以在 devTools 中使用 copy 函数尝试效果(已经注入本页面全局环境了,你无需再复制执行一次 #待办/网站升级导致一些功能不可用了,等待更新#)

// 复制文本
export const copy = (str: string) => {
  // 第一种
  navigator.clipboard.writeText(str);
};

export const copy2 = (str: string) => {
  // 第二种
  const input = document.createElement("textarea");
  input.style.opacity = "0";
  document.body.appendChild(input);
  input.value = str;
  input.select();
  const r = document.execCommand("copy");
  input.remove();
  return r;
};

也可以在下面尝试效果

<input class="c-test-input border"></input>
<div class="m-1 flex">
    <div class="c-test-btn_1 btn w-24 mx-2">复制</div>
    <div class="c-test-btn_2 btn w-24 mx-2">异步复制</div>
</div>

<script>
const input=document.querySelector('.c-test-input')
document.querySelector('.c-test-btn_1').addEventListener("click",()=>{
    copy(input.value)
})
document.querySelector('.c-test-btn_2').addEventListener("click",()=>{
    setTimeout(() => {
        copy(input.value)
    }, 1000);
})
</script>

by 崮生 from 崮生 • 一些随笔 🎨,欢迎 赞助本文
本文欢迎分享与聚合,全文转载未经授权( 联系我)不许可。