• JS 一键复制插件应用 和 原生实现


    一、目前来说复制功能 clipboard.js基本可以兼容所有浏览器,可以任意复制文本,官方地址 https://clipboardjs.com/

    1、进入官方网站下载 然后引入

    <script src="js/clipboard.min.js"></script>

    2、运用模板

       var clipboard = new ClipboardJS('.copy-btn');
            clipboard.on('success', function(e) {
                $('p').hide()
                alert('复制成功')
                  console.log(e);//可以输出看到复制的所有信息
               });
               clipboard.on('error', function(e) {
               console.log(e);
            });

    3、确定复制目标    data-clipboard-target='xxxx'

    <span class='copy-btn'  data-clipboard-target='#Link"+i+"'>复制</span>  //复制id=Link的容器里的文本,因为我在这里是动态加载,所以用到了Link"+i+"
    <p id='Link"+i+"' style='display:none'>"+data.info.serverUrl+data.info.pageInfo.list[i].link+"</p> //这是要复制的内容,动态加载,用id='Link"+i+"'

    二、原生实现

    1、复制其他目标文本

    html

    <textarea cols="20" rows="10" id="weixinhao" style="height: 20px;border: none;text-align: center;color: #3be09c;font-size: 18px;margin-top:8px;outline:none">要复制的内容</textarea>
    <div style="margin-top: 10px; 60%;padding: 6px 0;background: #3be09c;color: #fff;border-radius: 18px;font-size: 14px;" id="copyWx">复制到粘贴板</div>

    JS

    document.getElementById("copyWx").onclick=function(){
                        var weixin=document.getElementById("weixinhao");//复制目标
                        weixin.select();
                        document.execCommand("Copy");
                        alert("复制成功");
                    }

    2、复制点击本身文本

    html

    <div id="cardList">
                 <div class="btn">点击我,复制我</div>
              </div>

    JS

               function copy(str){ // str是要复制的目标
                   var save = function (e){
                        e.clipboardData.setData('text/plain',str);//下面会说到clipboardData对象
                         e.preventDefault();//阻止默认行为
                     }
                     document.addEventListener('copy',save);
                     document.execCommand("copy");//使文档处于可编辑状态,否则无效
                }
                         
                 document.getElementById('cardList').addEventListener('click',function(ev){
                      copy(ev.target.innerText) //调用事件
                      alert('复制成功')
                 })
  • 相关阅读:
    jquery中的 deferred之 deferred对象 (一)
    javascript函数嵌套时arguments的问题
    Jquery中的 Deferred分析
    Javascript面试题收集
    jquery中的callbacks之我见
    javascript正则表达式中 (?=exp)、(?<=exp)、(?!exp)
    javascript中正则表达式中的 match,exec,test,replace 之我理解
    删除域帐户/网络帐号密码 重新登录域服务器
    jQuery.extend 与 jQuery.fn.extend
    HttpMessageConvert
  • 原文地址:https://www.cnblogs.com/xxflz/p/10141775.html
Copyright © 2020-2023  润新知