clipboard.js使用总结

 更新时间:2021年11月11日 16:31:00   作者:马优晨  
clipboard.js是一款轻量级的实现复制文本到剪贴板功能的JavaScript插件,本文就详细的介绍一下如何使用,感兴趣的可以了解一下

(1)介绍:

clipboard.js是一款轻量级的实现复制文本到剪贴板功能的JavaScript插件。通过该插件可以将输入框,文本域,DIV元素中的文本等文本内容复制到剪贴板中

clipboard.js支持主流的浏览器:chrome 42+; Firefox 41+; IE 9+; opera 29+; Safari 10+;

(2)clipboard复印内容的方式有

从target复印目标内容
通过function 要复印的内容
通过属性返回复印的内容
target复印目标内容,这里不说,就说一下function和属性的操作。

(3)Function操作有两种:

第一种:

通过target的function复印内容
通过target指定要复印的节点,这里返回舒值是‘hello'

   <button class="btn">Copy_target</button>
   <div>hello</div>

   <script>
   var clipboard = new Clipboard('.btn', {
   // 通过target指定要复印的节点
       target: function() {
                  return document.querySelector('div');
             }
   });

   clipboard.on('success', function(e) {
       console.log(e);
   });

   clipboard.on('error', function(e) {
       console.log(e);
   });
   </script>

第二种:

通过text的function复印内容
text的function指定的复印内容,这里返回‘to be or not to be'

<button class="btn">Copy</button>
<script>
   var clipboard = new Clipboard('.btn', {
   // 点击copy按钮,直接通过text直接返回复印的内容
       text: function() {
           return 'to be or not to be';
       }
   });

   clipboard.on('success', function(e) {
       console.log(e);
   });

   clipboard.on('error', function(e) {
       console.log(e);
});

(4)通过属性返回复印的内容

第一种: 单节点

通过id指定节点对象,并做为参数传送给Clipboard。这里的返回值的内容是data-clipboard-text的内容

// 通过id获取复制data-clipboard-text的内容 
<div id="btn" data-clipboard-text="1">
        <span>Copy</span>
</div>
 
<script>
    var btn = document.getElementById('btn');
    var clipboard = new Clipboard(btn);
 
    clipboard.on('success', function(e) {
        console.log(e);
    });
 
    clipboard.on('error', function(e) {
        console.log(e);
    });
</script>

第二种: 多节点

通过class获取所有button按钮,并做为参数传送给Clipboard。每个按钮被点击时,返回值的内容是其对应的data-clipboard-text的内容,分别是1,2,3

//   通过class注册多个button,获取data-clipboard-text的值
<button class="btn" data-clipboard-text="1">Copy</button>
    <button class="btn" data-clipboard-text="2">Copy</button>
    <button class="btn" data-clipboard-text="3">Copy</button>
 <script>
    var clipboard = new Clipboard('.btn');
 
    clipboard.on('success', function(e) {
        console.log(e);
    });
 
    clipboard.on('error', function(e) {
        console.log(e);
    });
    </script>

(5)函数和属性的兼容方式

函数:

//ClipboardJS.isSupported()  //--------这句为:是否兼容
var clipboard = new Clipboard('.btn');
//优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制
clipboard.on('success', function(e) {
    alert('复制成功!')
    e.clearSelection();
});
clipboard.on('error', function(e) {
    alert('请选择“拷贝”进行复制!')
//尝试去掉alert,能弹出系统的“拷贝”工具,但是需要点击两次按钮才能弹出,具体原因还不清楚,参考上图。有人说可以试一下在触发的地方写一个空点击事件, οnclick="" 因为ios不单纯支持on事件
}); 

属性:

<img
   src="../../../../assets/images/zuop_award/copy_link.png"
      @click="copy"
      data-clipboard-action="copy"
      class="email"
      :data-clipboard-text="'mayouchen@csdn.com'"
    /> 

-------------------
  copy() {
     var clipboard = new Clipboard(".email")
     // console.log(clipboard);
     clipboard.on("success", e => {
       // console.log("复制成功", e);
       Toast({
         message: "复制成功"
       })
       // 释放内存
       clipboard.destroy()
     })
     clipboard.on("error", e => {
       // 不支持复制
       Toast({
         message: "手机权限不支持复制功能"
       })
       console.log("该浏览器不支持自动复制")
       // 释放内存
       clipboard.destroy()
     })
   }

到此这篇关于clipboard.js使用总结的文章就介绍到这了,更多相关clipboard.js使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 前端开发之CSS原理详解

    前端开发之CSS原理详解

    这篇文章主要介绍了前端开发之CSS原理详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • 一个简单的js渐显(fadeIn)渐隐(fadeOut)类

    一个简单的js渐显(fadeIn)渐隐(fadeOut)类

    最近发现项目用的表单验证不好使,干脆一边参考人家的一边自己写了一个。在验证有错误返回提示信息用到渐显(fadeIn)渐隐(fadeOut)过渡(因为浏览器的效率实在太高了,一下就蹦了出来~~);
    2010-06-06
  • 如何将HTML字符转换为DOM节点并动态添加到文档中详解

    如何将HTML字符转换为DOM节点并动态添加到文档中详解

    这篇文章主要给大家介绍了关于如何将HTML字符转换为DOM节点并动态添加到文档中的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧
    2018-08-08
  • JS中Location使用详解

    JS中Location使用详解

    javascript中 location用于获取或设置窗体的URL,并且可以用于解析URL,是BOM中最重要的对象之一,下面我们就来详细探讨下Location对象的使用。
    2015-05-05
  • JS实现IE状态栏文字缩放效果代码

    JS实现IE状态栏文字缩放效果代码

    这篇文章主要介绍了JS实现IE状态栏文字缩放效果代码,涉及JavaScript针对浏览器的相关调用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • underscore之function_动力节点Java学院整理

    underscore之function_动力节点Java学院整理

    因为underscore本来就是为了充分发挥JavaScript的函数式编程特性,所以也提供了大量JavaScript本身没有的高阶函数。本文重点给大家介绍underscore之function知识,感兴趣的的朋友一起学习吧
    2017-07-07
  • input输入框限制只能输入数字的方法实例(个人认为最好的)

    input输入框限制只能输入数字的方法实例(个人认为最好的)

    在很多业务中需要对输入框进行字符限制,比如金额输入框、手机号码输入框等,下面这篇文章主要给大家介绍了关于input输入框限制只能输入数字的相关资料,文中介绍的方法个人认为最好的,需要的朋友可以参考下
    2022-10-10
  • 详解JavaScript常用的Hook脚本

    详解JavaScript常用的Hook脚本

    这篇文章主要介绍了JavaScript常用的Hook脚本,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    JavaScript类型检测之typeof 和 instanceof 的缺陷与优化

    在javascript中,typeof 和 instanceof 是用来判断数据类型比较通用的两个方法,这篇文章的目的是通过对这两个方法介绍来分析其存在的不足并提出优化方案
    2016-01-01
  • 提交表单时执行func方法实现代码

    提交表单时执行func方法实现代码

    客户端的js验证想必大家早已熟悉,今天本文带着大家再回忆一下,主要是在提交表单之前执行func方法,感兴趣的你可以参考下哈,希望可以帮助到你
    2013-03-03

最新评论