在开发过程中难免会遇到点击分享的需求,这里有两种实现方式:
第一种: 通过原生js 的方法用(存在兼容性):

document.execCommand( aCommandName, aShowDefaultUI, aValueArgument**)**
参数说明:
aCommandName
      命令的名称:常用的为"copy","cut"等;

注:“copy” 拷贝当前选中内容到剪贴板
        “cut”   剪贴当前选中的文字并复制到剪贴板
aShowDefaultUI
      是否展示用户界面,一般为 false;

aValueArgument
      默认为null;

返回值:Boolean 如果还是false 则表示还不能支持;

html :

<input type="text" id="copyVal" readonly value="被复制内容" />
<button class="copyBtn" >点击复制</button>

javascript:

var copyBtn = document.getElementsByClassName('copyBtn')[0];copyBtn.onclick = function(){var copyVal = document.getElementById("copyVal");copyVal.select();try{if(document.execCommand('copy', false, null)){//success infoconsole.log("doSomething...");} else{//fail infoconsole.log("doSomething...");}} catch(err){//fail infoconsole.log("doSomething...");}}

具体兼容如下-pc 端浏览器:


移动端浏览器-安卓(微信浏览器可用):

移动端浏览器-ios:
目前是不支持所有浏览器,包括微信浏览器;

第二种 使用clipboard.js 实现(个人推荐):
它是一个不需要Flash,就能实现文本复制或者剪切到剪切板的轻量级插件;
其中需要两个参数是

data-clipboard-action 是操作类型值为复制(copy ),剪切(cut) 默认为copy 可以选择不加该属性
data-clipboard-target 是要复制或者剪切的对象的id值 必选选项

具体实例:
可以使用cdn 或者直接下载 设置好引用路径

<script type="text/javascript" src="./dist/clipboard.min.js"></script>

html

<input type="text" id="copyVal" readonly value="被复制内容" /><button class="copyBtn"   data-clipboard-target="#copyVal">点击复制</button>

javascript

     //实例化 ClipboardJS对象;var copyBtn = new ClipboardJS('.copyBtn');copyBtn.on("success",function(e){// 复制成功alert(e.text);e.clearSelection();});copyBtn.on("error",function(e){//复制失败;console.log( e.action )});

这里的ClipboardJS在实例化时, 如果报错:clipboard is not defined

解决办法就是如下:

new ClipboardJS(obj)

原因就是 Clipboard.JS版本是2.0及以上版本

Clipboard.js 实现点击复制相关推荐

  1. Clipboard.js实现点击自动复制内容的功能

    Clipboard.js实现点击自动复制内容的功能 点击非文本框,自动复制,代码如下 value:<spanid="bar"class="btn"data ...

  2. 移动端js实现点击复制到剪贴板,【真正】兼容所有浏览器uc、qq、微信、手机自带等浏览器...

    移动端js实现点击复制到剪贴板,带提示,[真正]兼容所有浏览器,包括安卓和ios及uc.qq.微信.手机自带等浏览器. github,欢迎star: https://github.com/majian ...

  3. Clipboard.js – 现代方式实现复制文本到剪贴板

    复制文本到剪贴板应该并不难,目前已经有很成熟的 Flash 方法.但是 Flash 已经在很多场合不适用了,特别是随着 HTML5 技术的发展.今天推荐的这个 Clipboard.js 库不依赖 Fl ...

  4. clipboard.js实现无flash复制内容到剪贴板

    由于最近在写一个项目其中有一个功能是要实现将页面上的某一段内容复制到剪贴板上,当时想用ZeroClipboard.js+ZeroClipboard.swf的,奈何项目中有移动端部分,考虑到flash已 ...

  5. 移动端js实现点击复制到剪贴板,【真正】兼容所有浏览器uc、qq、微信、手机自带等浏览器

    查看demo 前言:在移动端上经常会遇到这样的需求,第一种就是点击复制当前页面的链接,第二种就是类似卡券的功能,需要复制密码等,之前需求太紧急,基本上都使用了clipboard.js ,使用方法也很简 ...

  6. 通过JS实现点击复制页面表格到Excel

    本文基于react项目实现. 起因 接了一个需求,要求实现点击页面上的一个按钮,复制某个表格数据,然后ctrl+V到Excel表格中. 思考 其实我觉着这个功能用导出Excel的方式实现不就好了么.不 ...

  7. JS实现点击复制目标内容

    在实际应用中,我们经常看到这样一种效果:就是单击一个按钮,就将某个区域内的内容,复制到了剪切板中.其实这个功能实现起来也不难,核心就是用到了window子对象clipboardData的一个方法:se ...

  8. js实现点击复制链接功能

    像这种复制链接的功能一般我们把他放在utils文件中. 代码如下: // 文本复制 export function copyText(value) { return new Promise((reso ...

  9. js实现点击复制到粘贴板功能

    HTML结构 <p class="DzWx"><span class="wx">微信:<span id="wxConte ...

最新文章

  1. 手机qq协议做的第三方qq软件
  2. 《系统集成项目管理工程师》必背100个知识点-40缩短活动工期的措施
  3. 数据库系统原理(第一章概述)
  4. LightOJ-1220 Mysterious Bacteria (素数打表+欧几里得算法+唯一分解定理)给出x,求x=a^p,最大的指数
  5. python的普通方法、类方法和静态方法
  6. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)1-BVH引入
  7. 【python报错】 ModuleNotFoundError: No module named 'X' 如何调用自己写的 moudle / python / .py 文件(同一项目中)
  8. Rulo扫地机器人app_扫地机器人扫不干净 为什么我还推荐大家买?
  9. HTC vive 虚实融合
  10. DP--Tetrahedron
  11. linux如何入侵电脑,Linux超大漏洞,按28次Backspace键即可入侵电脑
  12. 用记事本写表白html,抖音电脑弹窗表白代码怎么弄_记事本vbs告白代码写法介绍_抖音表白套路方法分享...
  13. hn版是什么版本的教材_初中教材都有什么版本
  14. Sonic开源的云真机测试平台搭建记录
  15. u盘装华为服务器系统教程,华为服务器u盘重装系统
  16. 搜狗浏览器怎么翻译英文网页
  17. jsp mysql企业网站_JSP基于MySQL构建中小企业电子商务网站.pdf
  18. 编写程序计算圆的面积和周长
  19. 在线客服——各第三方的收费标准及服务提供
  20. angular中自定义组件实现双向绑定

热门文章

  1. 前端面试总结2020年9月12家面试
  2. python爬山算法
  3. Java入门学习(九)
  4. linux对nohup日志进行定时拆分并且删除~持续补充
  5. Excel如何拆分sheet(宏功能应用)
  6. c语言必背数据结构_C语言实现常用数据结构:简要一览(第1篇
  7. 使用树莓派连接LED灯
  8. 对数似然函数值/最大近然估计/log likelihood
  9. Gym-101502J(取数博弈+dp)
  10. [USACO2.1] 健康的荷斯坦奶牛 dfs