前端实现文本复制

常见方法document.execCommand()(旧方法)和 Clipboard API(新方法)

一、document.execCommand()(旧方法)

这种方法兼容性较好,但已经逐渐被弃用。它的原理是创建一个临时的输入框,将需要复制的文本放入其中,选中文本后执行复制命令。

const copyButton = document.getElementById("copyButton");
const textToCopy = "这是要复制的文本内容";
copyButton.addEventListener("click", () => {
  // 创建一个临时的输入框
  const input = document.createElement("input");
  input.value = textToCopy;
  document.body.appendChild(input);
  // 选中文本
  input.select();
  input.setSelectionRange(0, input.value.length);
  // 执行复制命令
  document.execCommand("copy");
  // 移除临时输入框
  document.body.removeChild(input);
  alert("文本已复制到剪贴板");
});

二、使用 Clipboard API(新方法)

Clipboard API 是现代浏览器提供的更安全、更方便的复制粘贴解决方案。

const copyButton = document.getElementById("copyButton");
const textToCopy = "这是要复制的文本内容";
copyButton.addEventListener("click", async () => {
  try {
    // 调用 Clipboard API 进行复制
    await navigator.clipboard.writeText(textToCopy);
    alert("文本已复制到剪贴板");
  } catch (error) {
    console.error("复制失败:", error);
  }
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yqcoder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值