尝试了用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')命令,这一步都一样。希望帮到你。
添加回答
举报
0/150
提交
取消