复制到剪贴板 copyToClipboard – JavaScript 实用代码片段

将一个字符串复制到剪贴板。 仅作为用户操作的结果(即,在 click 事件侦听器中)。

创建一个新的 <textarea> 元素,用提供的数据填充它,并将其添加到 HTML 文档中。
使用 Selection.getRangeAt() 来存储选择的范围(如果有的话)。
使用 document.execCommand('copy') 复制到剪贴板。
从HTML文档中删除 </textarea><textarea> 元素。
最后,使用 Selection().addRange() 来恢复原始选择范围(如果有的话)。

const copyToClipboard = str => {
  const el = document.createElement('textarea');
  el.value = str;
  el.setAttribute('readonly', '');
  el.style.position = 'absolute';
  el.style.left = '-9999px';
  document.body.appendChild(el);
  const selected =
    document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false;
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
  if (selected) {
    document.getSelection().removeAllRanges();
    document.getSelection().addRange(selected);
  }
};
copyToClipboard('Lorem ipsum'); // 'Lorem ipsum' copied to clipboard.

更多代码 JavaScript 实用代码片段 请查看 https://www.css88.com/30-seconds-of-code/

赞(0) 打赏
未经允许不得转载:WEB前端开发 » 复制到剪贴板 copyToClipboard – JavaScript 实用代码片段

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏