为了账号安全,请及时绑定邮箱和手机立即绑定

javascript实现自动复制内容到粘贴板

javascript实现自动复制内容到粘贴板

小怪兽爱吃肉 2019-05-23 19:05:36
尝试了用clipboard.js,但是需要点击按钮触发,自动执行点击事件也无效复制......$('.btn').bind("myClick",()=>{varclipboard=newClipboard('.btn')console.log('success!')})$('.btn').trigger("myClick")document.execCommand()也尝试过,也是需要按钮触发
查看完整描述

2 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

点击自动复制这块儿,目前WebApi不是很稳定,兼容性也不是很好,Chrome,FF,Safari也还好。谈谈我以前的实现吧。
其实大的可以分为两种:1、如果你的内容是在input框里面,当然也包括textarea等,实现相对简单:
constcopyInputValue=(input)=>{
constvalueLength=input.value.length;
input.focus();
input.setSelectionRange(0,valueLength);
returndocument.execCommand('copy');
}
copyInputValue(document.getElementById('input'));
2、另外一种是复制复制普通元素内文本:具体的代码我就不写了。思路就是:通过window.getSelection()获取选取,然后初始化一个Range,然后add进selection,然后执行复制命令。
整体的思路就是:把文本想办法添加进选取,这一步的兼容性做好,然后执行document.execCommand('copy')命令,这一步都一样。希望帮到你。
                            
查看完整回答
反对 回复 2019-05-23
  • 2 回答
  • 0 关注
  • 2197 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信