JS基于clipBoard.js插件实现剪切、复制、粘贴
摘要:
最近做了一个项目,其中有这样一需求:实现一个点击按钮复制链接的功能,通过网上找相关资料,找到了几个插件,ZeroClipboard是通过flash实现的复制功能,随着越来越多的提议废除flash,于是就想能不能通过js来实现复制剪切呢?
地址:https://github.com/baixuexiyang/clipBoard.js
方法:
复制
var copy = new clipBoard(document.getElementById('data'), {
beforeCopy: function() {
},
copy: function() {
return document.getElementById('data').value;
},
afterCopy: function() {
}
});
剪切
var cut = new clipBoard(document.getElementById('data'), {
beforeCut: function() {
},
Cut: function() {
return document.getElementById('data').value;
},
afterCut: function() {
}
});
粘贴
var paste = new clipBoard(document.getElementById('data'), {
beforePaste: function() {
},
paste: function() {
return document.getElementById('data').value;
},
afterPaste: function() {
}
});
补充
1.引入clipboard.min.js文件
2.定义一个button按钮,注意按钮的属性:data-clipboard-action="copy" 表示是复制行为,data-clipboard-text=‘XXX',XXX表示你要复制的内容
3.书写js,建立clipboard对象以及复制后执行的方法
演示代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>target-div</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
</head>
<body>
<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">
Copy to clipboard
</button>
<button class="btn" data-clipboard-text="ean you should — clipboard.js">
Copy to clipboard2
</button>
<script>
var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function(e) {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
alert('复制成功,您复制的链接为'+e.text);
e.clearSelection();
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
alert('复制失败')
});
</script>
</body>
</html>
最近在做项目的时候需要实现复制黏贴的功能,但是js自己提供的各种方法存在兼容性问题,最后决定使用插件来实现,找了很多插件,发现了了一款比较好用的,分享给大家
相关文章
javascript setTimeout()传递函数参数(包括传递对象参数)
由于需要,我要用到setTimeout()并且在里边的函数参数传递一个参数,就像这样setTimeout("fun(参数)", 1000)。但是以我这种写法,js会报错,说‘参数’未定义。2010-04-04
JavaScript中的模块化开发ES6:import与export详解
JavaScript模块化通过ES6的import/export实现,将代码拆分为独立模块,提升可维护性与复用性,支持命名导出、默认导出及混合导出,模块异步加载且只执行一次,需严格模式和正确路径,打包工具如Webpack可优化加载和代码分割2025-07-07
JavaScript 的setTimeout与事件循环机制event-loop
这篇文章主要介绍了JavaScript 的setTimeout与事件循环机制event-loop,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下2022-07-07
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
本篇文章小编为大家介绍,你必须知道的Javascript知识点之"字面量和对应类型"。需要的朋友参考下2013-04-04


最新评论