H5复制粘贴双端适配的解决方案(终极版)

本文介绍了一个基于clipboard.js的复制功能实现方案,适用于多种浏览器环境。提供了详细的HTML、JS代码示例,展示了如何将该库集成到项目中,并利用其API完成内容复制操作。

前言

最终适配所有机型的方案基于clipboardjs
官网 https://clipboardjs.com/

这个库由几个不同的CDN提供商托管。选择你最喜欢的:)

建议使用 v1.7.1 版本
<script src="http://testgumballs.leiting.com/test/copy/js/clipboard.js"></script>

以下版本为 v2.0.4
jsDelivr
<script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
cdnjs
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
RawGit
<script src="https://cdn.rawgit.com/zenorocha/clipboard.js/v2.0.0/dist/clipboard.min.js"></script>
unpkg
<script src="https://unpkg.com/clipboard@2.0.0/dist/clipboard.min.js"></script>

HTML部分按照clipboard提供的API进行编写

<input readonly="readonly" type="text" value="414" class="code"/>
<button class="btn" data-clipboard-action="copy" data-clipboard-target=".code">复制</button>    

JS

    //复制
    $('.btn').on('click', function(){

        //这部分使用原生的复制方法
        $('.code').select();
        document.execCommand("copy",false,null);
        
        //这部分使用clipboardjs提供的复制方法
        var clipboard = new Clipboard('.btn');   
        clipboard.on('success', function(e) {  
            e.clearSelection();  
        });   
        alert('复制成功。');

        //clipboardjs提供的复制失败的方法,进行复制失败提示
        clipboard.on('error', function(e) {  
            alert('复制失败,请手动选择复制。');
        });  
    })

segmentfault上其他相关分享
使用clipboard实现前端页面复制到粘贴板的功能
Vue中配合clipboard.js实现点击按钮复制内容到剪切板

图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值