1.可复制内容
<div class="tab-pane fade in active " id="txtrslt">
<table id="result">
<tbody>
</tbody>
</table>
</div>
2.赋值按钮
<span id ="copyBtn" class="iconfont icon-fuzhi" style="font-size: 14px;margin-left: 45%;color:#4cd3e9;cursor:pointer;" οnclick="selectElementContents( document.getElementById('result') );">一键复制</span>
3.js复制实现
function selectElementContents(el) {
var body = document.body, range, sel;
if (document.createRange && window.getSelection) {
range = document.createRange();
sel = window.getSelection();
sel.removeAllRanges();
try {
range.selectNodeContents(el);
sel.addRange(range);
} catch (e) {
range.selectNode(el);
sel.addRange(range);
document.execCommand("copy");
window.getSelection().empty();
toastr.success('成功复制到剪贴板!');
3.实现效果
粘贴到文档
粘贴到表格
1.可复制内容<div class="tab-pane fade in active " id="txtrslt"> <!-- fade有淡入淡出的效果--> <table id="result"> <tbody> <!--表格--> </tbody> &
使用剪贴板是一项基本技能。作为码农都应知道, Tab , Ctrl/Cmd + A , Ctrl / Cmd + C 以及 Ctrl / Cmd + V 分别是自动聚焦、复制、粘贴的快捷键。
而对普通用户可能就不太容易了。即使用户知道剪贴板是什么,(除了)那些眼神极好或反应很快的人,其他情况下很难以突出显示他们想要的确切文字。若用户不知道键盘快捷键,也看不到隐藏的编辑菜单,或从未使用右键菜单或不知道长按触屏弹出选项菜单,那么他很可能无法察觉到复制功能。
那么我们是否应该提供一个“复制到剪贴板”按钮来帮助用户?这功能应该会很有用,即使是对快捷键的人非常熟悉的用户来说。
关于剪贴板的安全
// 复制(id为待复制内容的父类div的id)
Copy() {
this.selectElementContents(document.getElementById("CopyContent"));
// js一键复制
selectElementContents(el) {
var body = document.body,
range,
if (document.crea
copyUrl () {
const input = document.createElement('input')
input.setAttribute('id', '__mouse__position_input')
input.value = `${this.url}`
document.querySelector('body').appendChild(input)
input.select()
document.exe...
$('#copy').on('click', function (e) {
const input = document.createElement('input');
document.body.appendChild(input);
input.setAttribute('value', "要复制的内容")
input.select();
if (document.execCommand('copy')
const selection = window.getSelection()
selection.removeAllRanges()
const range = document.createRange()
range.selectNodeContents(document.getElementById('code-wrap')) // 需要选中的dom节点
selection.a.
function copyTo(text) {
if (document.body.createTextRange) {
var range = document.body.createTextRange();
range.moveToElementText(text);
range.select();
} else if
const input = document.createElement('textarea');
document.body.appendChild(input);
input.value = “复制我呀”;
// input.setAttribute('value', "复制我呀");
input.select();
if (document.
function tableCopy(target) {
// Selection 对象表示用户选择的文本范围或插入符号的当前位置。
const selection = window.getSelection();
// range 接口表示一个包含节点与文本节点的一部分的文档片段。
const range = document.createRange();
const copy = target.cloneNode(true);
console.log(copy)
Vue.js 本身并没有提供复制粘贴的功能,但是可以通过使用浏览器提供的 Clipboard API 来实现。
首先,在你的 Vue 组件中引入 Clipboard API:
```javascript
import ClipboardJS from 'clipboard';
然后,在 mounted 钩子函数中实例化 ClipboardJS,并设置复制和粘贴的回调函数:
```javascript
mounted() {
const clipboard = new ClipboardJS('.copy-btn');
clipboard.on('success', e => {
console.log('Copied text: ', e.text);
clipboard.on('error', e => {
console.log('Error: ', e.action);
这里的 `.copy-btn` 是你页面中用于触发复制的按钮的 class 名称,注意要在按钮上设置 `data-clipboard-text` 属性来指定要复制的文本内容。
```html
<button class="copy-btn" data-clipboard-text="要复制的文本">复制</button>
以上就是基本的复制功能实现,如果要实现粘贴功能,可以使用 `navigator.clipboard.readText()` 方法来读取剪贴板中的文本内容,具体代码如下:
```javascript
async handlePaste() {
const text = await navigator.clipboard.readText();
console.log('Pasted text: ', text);
在该代码中,`handlePaste` 方法会在粘贴事件触发时被调用,然后使用 `navigator.clipboard.readText()` 方法读取剪贴板中的文本内容,并将其打印到控制台中。
注意,由于该 API 目前并不是所有浏览器都支持,所以建议在使用之前检查一下是否支持该 API。