前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ClipBoard.js点击复制

ClipBoard.js点击复制

作者头像
越陌度阡
发布2020-11-26 16:28:22
15.1K0
发布2020-11-26 16:28:22
举报
代码语言:javascript
复制
<!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>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/03/15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档