JS复制到剪贴板

clipboard.js 是一个不需要flash,将文本复制到剪贴板的插件。简单介绍下基本运用。

下载地址:https://github.com/zenorocha/clipboard.js/archive/master.zip

1 、引入插件

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

2、基本使用

首先需要您需要通过传递DOM选择器,HTML元素或HTML元素列表来实例化它。

new ClipboardJS('.btn');

2.1、用一个元素当触发器来复制另一个元素的文本,data-clipboard-target属性后需要跟属性选择器

<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">
<button class="btn" data-clipboard-target="#foo"></button>

另外还有另外一个属性data-clipboard-action属性,以指定是要要么copy还是要cut操作。默认情况下是copy。cut操作只适用于<input>或<textarea>元素。

<textarea id="bar">
待剪切的内容
</textarea>
<button
 class="btn"
 data-clipboard-action="cut"
 data-clipboard-target="#bar"
>
剪切按钮cut
</button>

2.2、从属性中复制文本,不需要另一个元素当触发器,可以使用data-clipboard-text属性,在后面放上需要复制的文本.

<button 
class="btn" 
data-clipboard-text="要复制的内容123abc">
复制按钮
</button>

 

3、其他说明

3.1、通过运行检查clipboard.js是否支持new ClipboardJS.isSupported(),返回true则可以使用。

var is_copy= new ClipboardJS.isSupported();


3.2、显示一些用户反馈或捕获在复制/剪切操作后选择的内容。操作,文本,触发元素

var clipboard = new ClipboardJS('.btn');
clipboard.on('success', function(e) {
    console.info('Action:', e.action);
    console.info('Text:', e.text);
    console.info('Trigger:', e.trigger);

    e.clearSelection();
});

clipboard.on('error', function(e) {
    console.error('Action:', e.action);
    console.error('Trigger:', e.trigger);
});

3.3、该插件使用的是事件委托的方式来触发,所以大大减少了对dom的操作。

4、高级使用

          如果你不想修改你的HTML,那么你可以使用一个非常方便的命令API。所有你需要做的是声明一个函数,写下你想要的操作,并返回一个值。下面是一个对不同id的触发器返回不同的值的例子。

具体的使用方法请看

  1. (中文)http://www.clipboardjs.cn
  2. (英文)https://clipboardjs.com
<body>
<input id="foo" value="https://github.com/zenorocha/clipboard.js.git">

<button id='foo_1' class="btn" data-clipboard-target="#foo">
</button>
</body>
<script>
new ClipboardJS('.btn', {
    text: function(trigger) {
        if(trigger.getAttribute('id')=='foo_1'){
           alert('1');
        }else{
            alert('2');
        }
    }
});
</script>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值