系统开发中,有些业务场景需要用到,点击按钮复制文本到键盘的 ctrl + v粘贴板的功能,于是记录一下自己的实现过程。

【整体思路】

获取到某个 input 或者 textareadom后, 选中当前 dom, 执行浏览器复制命令。

这里有几个点需要注意:

1、dom 必须要input或者 textarea

2、dom 必须是可见的,这里的可见指的是display可见,也就是说hiddendisplay: none是复制不到的

3、当需要复制的内容不是input或者textarea,可以通过创建一个dom,把相应的值赋值到这个dom后,再进行执行复制命令

另外,在第2点的基础上,如果这个dom实际上我们并不想它展示在用户的面前,可以使用定位的方式,隐藏到所有元素的最底层。

示例:

let dom = document.getElementById(id)
dom.select()
document.execCommand('Copy')