大家好,我是程序视点的小二哥!摘要:Clipboard.js实现了原生 JavaScript(无 Flash)的浏览器内容复制到系统剪贴板Clipboard.jsClipboard.js是一个用于将文本复制到剪贴板的 JS 库。没有使用 Flash,没有使用任何框架,开启 gzipped 压缩后
本期介绍一个非常常用的前端插件:Clipboard.js。
Clipboard.js 实现了原生 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板Clipboard.jsClipboard.js 是一个用于将文本复制到剪贴板的 JS 库。没有使用 Flash,没有使用任何框架,开启 gzipped 压缩后仅仅只有 3kb。
作者 zenorocha 认为:
将文本复制到剪贴板应该不难。它不需要几十个步骤来配置,也不需要加载数百 KB 的文件。最最重要的是,它不应该依赖于 Flash 或其他任何框架。
该库依赖于 Selection 和 execCommand API,几乎所有的浏览器都支持 Selection API。然而 但是,不用担心!对于较老的浏览器,Clipboard.js 也可以优雅地Clipboard.js在使用 Clipboard.js 之前,你可以通过 NPM 或 CDN 的方式来安装它:NPM
npm install clipboard --save
从另一个元素复制内容。你可以给目标元素添加一个 data-clipboard-target 属性来实现这个功能
大师兄很帅...
剪切
复制
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);
e.clearSelection;
});
clipboard.on('error', function(e) {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
如果你不想修改 HTML,提供了一个非常方面的命令式的 API 给你使用。你需要做的就是声明一个函数,做一些处理,并返回一个值。
例如, 你希望动态设置target, 你需要返回一个node节点.new ClipboardJS('.btn', {
target: function(trigger) {
return trigger.nextElementSibling;
}
});
new ClipboardJS('.btn', {
text: function(trigger) {
return trigger.getAttribute('aria-label');
}
});
new ClipboardJS('.btn', {
container: document.getElementById('modal')
});
同样地,如果你使用单页应用,你可能想要更加精确地管理 DOM 的生命周期。你可以清理事件以及创建的对象。
var clipboard = new ClipboardJS('.btn');
clipboard.destroy;
【程序视点】助力打工人减负,从来不是说说而已!
后续小二哥会继续详细分享更多实用的工具和功能。持续关注,这样就不会错过之后的精彩内容啦!
如果这篇文章对你有帮助的话,别忘了【点赞】【分享】支持下哦~
来源:小向科技观