当前位置: 首页 > ops >正文

前端插件clipboard 操作剪切板

文章目录

    • 前言
    • 1、clipboard.js介绍
    • 2、clipboard.js的安装
    • 3、使用
    • 4、事件
    • 5、其他用法

前言

本期介绍一个非常常用的前端插件 Clipboard.js,Clipboard.js 实现了纯 JavaScript (无 Flash)的浏览器内容复制到系统剪贴板的功能。

1、clipboard.js介绍

clipboard.js 现代化的拷贝文字,不依赖 flash, 不依赖其他框架,gzip 压缩后只有 3kb 大小.

「拷贝文字不应当是一件困难的事. 不需要过多繁杂的配置或者下载很多脚本文件. 最重要的,它不应该依赖flash或者其他框架,应该保持简洁」

「这就是创造clipboard.js的原因和目的」

2、clipboard.js的安装

两种安装方式
通过npm工具安装

npm install clipboard --save

CDN引入

<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>

3、使用

先引入clipboard.js

<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.6/dist/clipboard.min.js"></script>

设置复制剪贴的内容
从另一个元素复制内容。你可以给目标元素添加一个 data-clipboard-target 属性来实现这个功能

<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button class="btn" data-clipboard-target="#foo"><img src="assets/clippy.svg" alt="Copy to clipboard">
</button>

你还可以定义一个 data-clipboard-action 属性来指明你想要复制还是剪切内容

<textarea id="bar">Mussum ipsum cacilds...</textarea>
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">Cut to clipboard
</button>

复制当前的内容,需要给目标元素设置一个data-clipboard-text 属性即可

<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">Copy to clipboard
</button>

4、事件

如果你想要展示一些用户反馈,或者在用户复制/剪切后获取已经选择的文字,这里有个示例供你参考。

我们通过触发自定义事件,比如success 和 error 让你可以设置监听并实现自定义逻辑

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);
});

5、其他用法

如果你不想修改 HTML,提供了一个非常方面的命令式的 API 给你使用。你需要做的就是声明一个函数,做一些处理,并返回一个值。

例如, 你希望动态设置target, 你需要返回一个node节点.

new ClipboardJS('.btn', {target: function(trigger) {return trigger.nextElementSibling;}
});

如果你希望动态设置text, 你需要返回字符串。

new ClipboardJS('.btn', {text: function(trigger) {return trigger.getAttribute('aria-label');}
});

如果在 Bootstrap 模态框(Modals)中使用,或是在其他修改焦点的类库中使用,你会希望将获得焦点的元素设置为 container属性的值。

new ClipboardJS('.btn', {container: document.getElementById('modal')
});

同样地,如果你使用单页应用,你可能想要更加精确地管理 DOM 的生命周期。你可以清理事件以及创建的对象。

var clipboard = new ClipboardJS('.btn');
clipboard.destroy();

在这里插入图片描述

http://www.xdnf.cn/news/11293.html

相关文章:

  • Python入门教程(保姆级),从零基础入门到精通
  • gson快速入门和使用详解
  • cordova 一个将web应用程序封装成app的框架
  • C++ lambda表达式用法说明
  • Oracle中decode函数详解
  • 麦克斯韦方程组(彩图完美解释版)
  • 设计模式之单例、工厂、观察者模式
  • 张国荣一生57部电影海报全集
  • Kali-登录暴力破解器工具-medusa使用
  • 【硬件工程师】一次性讲透RS485接口
  • 数字版权管理 DRM 简介
  • 什么是RIA技术,RIA技术概览
  • 常用计算机外部设备有哪些,常用的计算机外设有哪些?
  • [转载]希捷固件门7200.12 CC46固件升级方法
  • Verilog任意分频器设计
  • 史蒂夫·乔布斯 - 简介
  • 个人博客搭建流程(域名、主机、解析、源码、搭建)全程详解
  • Template、ItemsPanel、ItemContainerStyle、ItemTemplate区别和联系
  • JSP基于Java的网咖计费管理系统91y3v程序+源码+数据库+调试部署+开发环境
  • 修改服务器网卡设置,网络适配器怎么设置网络好 完美的三种网络适配器设置方法...
  • linux虚拟机 Ubuntu 安装方法
  • iOS 7新功能汇总!
  • 《你不可不知的人性》刘墉 读书笔记(五)
  • 背单词软件 单词风暴 分享id_周一考研高效背单词系列(一):利用单词软件如何背好单词...
  • 中国最好的一些源码下载站点排名!
  • eclipse3.3.X版本中文语言包下载及安装
  • 基于单片机智能温度控制器系统设计
  • [Unity3D] 3D贪吃蛇
  • Lotus Notes 的新用户最需知道的十件事
  • 网站推广