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

3 篇文章 0 订阅
3 篇文章 0 订阅

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

  1.  点击非文本框,自动复制,代码如下
    value:<span id="bar" class="btn" data-clipboard-target="#bar">value</span>
    <script src="clipboard.min.js"></script>
    <script>
        //init
        var clipboard = new Clipboard('.btn');
        //优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制
        clipboard.on('success', function(e) {
            alert('复制成功!');
            e.clearSelection();
        });
        clipboard.on('error', function(e) {
            alert('请选择“拷贝”进行复制!')
        });
    </script>

     

  2.  点击按钮,复制文本框内容,代码如下
    <!-- Target -->
    <input id="bar" value="Mussum ipsum cacilds...">
    <!-- Trigger -->
    <button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">
        Cut to clipboard
    </button>
    <script src="clipboard.min.js"></script>
    <script>
        //init
        var clipboard = new Clipboard('.btn');
        //优雅降级:safari 版本号>=10,提示复制成功;否则提示需在文字选中后,手动选择“拷贝”进行复制
        clipboard.on('success', function(e) {
            alert('复制成功!');
            e.clearSelection();
        });
        clipboard.on('error', function(e) {
            alert('请选择“拷贝”进行复制!')
        });
    </script>

     

  3.  点击按钮,复制html代码(new 对象的时候为其赋值即可),代码如下
    <button type="button" class="btn btn-default embedAddress" data-clipboard-action="copy" onclick="copyEmbed()">复制地址</button>
    
    <textarea id="embedAddrModel" style="display: none;">
        <iframe id="fram" height="428px" width="800px" frameborder="0" scrolling="no" allowfullscreen="true" webkitallowfullscreen="true" mozallowfullscreen="true" oallowfullscreen="true" msallowfullscreen="true" src="网址"></iframe>
    </textarea>
    
    function copyEmbed() {
            var clipboard = new Clipboard('.btn',{
                text: function (trigger) {
                    var html = document.getElementById('embedAddrModel').innerHTML;
                    for (var i = 0; i < 2; i ++){
                        html = html.replace('&lt;','<');
                        html = html.replace('&gt;','>');
                    }
                    return html;
                }
            });
            clipboard.on('success',function (e) {
                alert("复制成功");
                e.clearSelection();
                clipboard.destroy();
            });
            clipboard.on('error',function (e) {
                alert("复制失败,请重新复制");
                clipboard.destroy();
            });
        }

     

   复制HTML,可以将HTML代码放到textarea中,防止页面解析此段代码;但是获取的HTML代码中的“<”,“>”会被解析成‘&lt;’,'&gt;',所以需要将其转换回去;

   如果HTML代码执行的话,可以不放到textarea中,这样就不用转换HTML代码中的‘<’,‘>’,复制的就是所需的代码。

 

  参考文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值