JavaScript复制内容到剪贴板

本文介绍了如何使用JavaScript实现复制内容到剪贴板,包括clipboard.js库的使用方法和document.execCommand()原生方法。详细讲解了各种场景下的复制操作,如从输入框复制、直接复制,并解决在iOS设备上的兼容性问题。
摘要由CSDN通过智能技术生成

原文链接:github.com/axuebin/art…


最近一个活动页面中有一个小需求,用户点击或者长按就可以复制内容到剪贴板,记录一下实现过程和遇到的坑。

常见方法

查了一下万能的Google,现在常见的方法主要是以下两种:

  • 第三方库:clipboard.js
  • 原生方法:document.execCommand()

分别来看看这两种方法是如何使用的。

clipboard.js

这是clipboard的官网:clipboardjs.com/,看起来就是这么的简单。

引用

直接引用: <script src="dist/clipboard.min.js"></script>

包: npm install clipboard --save ,然后 import Clipboard from 'clipboard';

使用

从输入框复制

现在页面上有一个 <input> 标签,我们需要复制其中的内容,我们可以这样做:

<input id="demoInput" value="hello world">
<button class="btn" data-clipboard-target="#demoInput">点我复制</button>
复制代码
import Clipboard from 'clipboard';
const btnCopy = new Clipboard('btn');
复制代码

注意到,在 <button> 标签中添加了一个 data-clipboard-target 属性,它的值是需要复制的 <input>id,顾名思义是从整个标签中复制内容。

直接复制

有的时候,我们并不希望从 <input> 中复制内容,仅仅是直接从变量中取值。如果在 Vue 中我们可以这样做:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值