本文摘自PHP中文网,作者不言,侵删。
本篇文章主要介绍了Html5剪切板功能的实现代码,内容挺不错的,现在分享给大家,也给大家做个参考。最近使用Vue开发Line(日韩的一款类似中国微信平台)的内嵌H5.里面的有一个需求就是将当前链接粘贴,然后发送到pc端,在电脑上进行打开。所有搜集找到了一下几种情况:
1.不带input输入框的原生js方法
这种情况适用于复制非输入框中的文本到剪切板
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | < h1 id = "content" >被复制的内容</ h1 >
< button id = "button" >点击复制</ button >
< script >
(function(){
button.addEventListener('click', function(){
var copyDom = document.querySelector('#content');
//创建选中范围
var range = document.createRange();
range.selectNode(copyDom);
//移除剪切板中内容
window.getSelection().removeAllRanges();
//添加新的内容到剪切板
window.getSelection().addRange(range);
//复制
var successful = document.execCommand('copy');
try{
var msg = successful ? "successful" : "failed";
alert('Copy command was : ' + msg);
} catch(err){
alert('Oops , unable to copy!');
}
})
})()
</ script >
|
2.带输入框的原生js方法
用于复制input,textarea中的文本
1 2 3 4 5 6 7 8 9 10 11 | <input type= "text" id= "input" value= "17373383" > <br>
<button type= "button" id= "button" >复制输入框中内容</button>
<script>
( function (){
button.addEventListener( 'click' , function (){
input.select();
document.execCommand( 'copy' );
alert( '复制成功' );
})
})()
</script>
|
这种方法也可以进行延深,充当和方法1一样的用途。动态创建一个input输入框,将其内容置为想复制的内容,最后在将其移除或者隐藏即可。
3.js复制内容到剪贴板插件(clipboard.js)
clipboard.js官网
clipboard.js CDN地址
引用方式:
NPM npm install --save clipboard
CDN <script src="https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js"></script>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!--默认是截取.btn中的 data-clipboard-text的属性值-->
<!-- <button class= "btn" data-clipboard-text= "3" >Copy</button> -->
<!--截取input输入框中的值-->
<input id= "foo" value= "https://github.com/zenorocha/clipboard.js.git" >
<!-- Trigger -->
<button class= "btn" data-clipboard-target= "#foo" >
<img src= "assets/clippy.svg" alt= "Copy to clipboard" >
</button>
<script src= "https://cdn.bootcss.com/clipboard.js/2.0.1/clipboard.js" ></script>
<script>
var clipboard = new ClipboardJS( '.btn' );
clipboard.on( 'success' , function (e) {
console.log(e);
});
clipboard.on( 'error' , function (e) {
console.log(e);
});
</script>
|
阅读剩余部分
相关阅读 >>
h5实现拖拉上传文件
h5之scrollintoview用法详解
HTML5实现拖拽功能步骤详解
HTML5标准学习-doctype头部分析
HTML5 video如何实现实时监测当前播放时间(代码)
HTML5中在元素或者选取的文本被拖动时触发的事件ondrag
HTML5 高级教程--拖放 api 实现拖放排序
HTML5中audio支持音频格式的解决方法
分享一个HTML5实现拖放的实例代码
HTML5怎样做出图片转圈的动画效果
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » Html5剪切板功能的实现