clipboard.js是一款轻量级的完成复制文本到剪贴板功用的JavaScript插件。经由过程该插件能够将输入框,文本域,DIV元素中的文本等文本内容复制到剪贴板中
官方地点:https://clipboardjs.com/
Github地点:https://github.com/zenorocha/clipboard.js/
实用要领
1.引入js文件
<script src="dist/clipboard.min.js"></script>
2.基础运用
起首须要您须要经由过程通报DOM挑选器,HTML元素或HTML元素列表来实例化它。
new Clipboard('.btn');
用一个元素当触发器来复制另一个元素的文本,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">Mussum ipsum cacilds...</textarea>
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">Cut to clipboard</button>
从属性中复制文本,不须要另一个元素当触发器,能够运用data-clipboard-text属性,在后面放上须要复制的文本
<button class="btn" data-clipboard-text="Just because you can doesn't mean you should — clipboard.js">Copy to clipboard</button>
3.其他申明
经由过程运转搜检clipboard.js是不是支撑Clipboard.isSupported(),返回true则能够运用。
显现一些用户反应或捕捉在复制/剪切操纵后挑选的内容。操纵,文本,触发元素
var clipboard = new Clipboard('.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);
});
该插件运用的是事宜托付的体式格局来触发,所以大大减少了对dom的操纵。
4.高等运用
假如你不想修正你的HTML,那末你能够运用一个异常轻易的敕令API。一切你须要做的是声明一个函数,写下你想要的操纵,并返回一个值。下面是一个对差别id的触发器返回差别的值的例子
<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 Clipboard('.btn', {
text: function(trigger) {
if(trigger.getAttribute('id')=='foo_1'){
return 1;
}else{
return 2;
}
}
});
</script>
5.支撑的浏览器
Chrome 42+,Edge 12+,Firefox 41+,IE 9+,Opera 29+,Safari 10+