# 如何实现选中复制的功能

更多描述

在一些博客系统,如掘金的博客中,可以复制代码,它是如何实现的

Issue

欢迎在 Issue 中交流与讨论: Issue 20

Author

回答者: shfshanyue

它一般可以使用第三方库 clipboard.js 来实现,源码很简单,可以读一读

主要有两个要点

  1. 选中
  2. 复制

# 选中

选中主要利用了 Selection API

选中的代码如下

const selection = window.getSelection();
const range = document.createRange();

range.selectNodeContents(element);
selection.removeAllRanges();
selection.addRange(range);

selectedText = selection.toString();

取消选中的代码如下

window.getSelection().removeAllRanges();

它有现成的第三方库可以使用: select.js

# 复制

复制就比较简单了,execCommand

document.exec('copy')

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 12/28/2019, 11:45:49 AM