点击复制功能 封装
Posted wxyblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了点击复制功能 封装相关的知识,希望对你有一定的参考价值。
问题:
clipboardJS插件ios系统下页面复制失败问题
需要将点击目标的节点设置为 :
<textArea></textArea>
才能复制成功
解决办法:
自己实现点击复制封装
//定义函数 window.Clipboard = (function(window, document, navigator) { var textArea, copy; // 判断是不是ios端 function isOS() { return navigator.userAgent.match(/ipad|iphone/i); } //创建文本元素 function createTextArea(text) { textArea = document.createElement(‘textArea‘); textArea.innerhtml = text; textArea.value = text; document.body.appendChild(textArea); } //选择内容 function selectText() { var range, selection; if (isOS()) { range = document.createRange();//创建区间 range.selectNodeContents(textArea);//选择textArea区间内的所有内容 selection = window.getSelection();//获取被选择文本的内容或者范围 selection.removeAllRanges();//清除掉被选择的文本,初始化 selection.addRange(range);//将被选择的文本替换成为指定文本 textArea.setSelectionRange(0, -1);//0 -1为全选 } else { textArea.select(); } } //复制到剪贴板 ,复制之后的操作 function copyToClipboard() { try{ if(document.execCommand("Copy")){ alert("复制成功!"); }else{ alert("复制失败!请手动复制!"); } }catch(err){ alert("复制错误!请手动复制!") } document.body.removeChild(textArea); } copy = function(text) { createTextArea(text); selectText(); copyToClipboard(); }; return { copy: copy }; })(window, document, navigator); //使用函数调用 点击‘.click-copy‘节点后 ,,复制".weixin"节点的文本到粘贴板 $(".click-copy").on("click",function(){ var val = $(".weixin").text(); Clipboard.copy(val); });
以上是关于点击复制功能 封装的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装