最好用的ClipBoard.js点击复制

<!DOCTYPE html>
<html>

<head>
    <title>ClipBoard.js点击复制</title>
    <meta charset="utf-8">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js"></script>
</head>

<body>

    <!-- 获取数据的源头,如果元素是表单元素,获取的是value值 -->
    <div type="text" id="content">
        复制的内容
    </div>

    <!-- data-clipboard-target的值为要获取数据源的ID -->
    <!-- data-clipboard-action的值为执行动作的类型,如copy与cut -->
    <!-- data-clipboard-action如果没有定义,则默认为copy,如果定义为cut,只对input或textarea元素有效 -->
    <button id="copy" data-clipboard-target="#content" data-clipboard-action="copy">
        触发动作元素
    </button>

    <!-- 事实上,你甚至不需要从另一个元素来复制内容,上面两个标签都可以取消-->
    <!-- 你仅需要给目标元素设置一个 data-clipboard-text 属性就可以了-->
    <!-- <button id="copy" data-clipboard-text="复制的内容">触发动作元素</button> -->

    <script type="text/javascript">
        //初始化(必须)
        var clipboard = new ClipboardJS('#copy');


        //高级用法(可省略,选择性使用)
        //如果你希望动态设置 target,需要返回一个节点
        var clipboard = new Clipboard('#copy',{
            target: function(trigger) {
                return trigger.nextElementSibling;
            }
        });
        //如果你希望动态设置 text,你需要返回一个字符串
        var clipboard = new Clipboard('#copy', {
            text: function(trigger) {
                return trigger.getAttribute('data-word');
            }
        });



        // 动作执行成功后的回调函数(必须)
        clipboard.on('success', function (e) {
            //触发的动作 如:copy,cut等
            console.info('Action:', e.action)
            //执行动作后获取的文本
            console.info('Text:', e.text);
            //触发的动作的元素
            console.info('Trigger:', e.trigger);
          
        });

        // 动作执行失败后的回调函数(可省略,选择性使用)
        clipboard.on('error', function (e) {
            //触发的动作 如:copy,cut等
            console.error('Action:', e.action);
            //触发的动作的元素
            console.error('Trigger:', e.trigger);
        });


        //清除事件对象(可省略,选择性使用)
        //如果是单页应用,可能想要更加精确地管理 DOM 的生命周期,可以清理事件以及创建的对象
        clipboard.destroy();
    </script>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值