1. // 点击复制到剪贴板
  2. const copyToClipboard = (content)=> {
  3. if (window.clipboardData) {
  4. window.clipboardData.setData("text", content);
  5. } else {
  6. (function (content) {
  7. document.oncopy = function (e) {
  8. e.clipboardData.setData("text", content);
  9. e.preventDefault();
  10. document.oncopy = null;
  11. };
  12. })(content);
  13. document.execCommand("Copy");
  14. }
  15. }

 

  1. // 点击复制到剪贴板 (兼容ios)
  2. const copyToClipboard = (content)=> {
  3. let oInput = document.createElement("input");
  4. oInput.value = content;
  5. document.body.appendChild(oInput);
  6. oInput.select(); // 选择oInput中所有文本对象
  1. if (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {//兼容ios
  2. if (!document.execCommand("Copy")) {
  3. oInput.setSelectionRange(0, oInput.value.length);
  4. }
  5. }
  6. document.execCommand("Copy"); // 执行浏览器复制命令
  7. document.body.removeChild(oInput);
  8. return new Promise((resolve,reject)=>{
  9. if (document.execCommand("Copy")) {
  10. resolve(content);
  11. }else{
  12. reject(content);
  13. }
  14. })
  15. }

 注释:setSelectionRange()方法是作用在input元素上的;这个方法可以为当前元素内的文本设置备选中范围;inputElement.setSelectionRange(selectionStart, selectionEnd, [optional] selectionDirection);

版权声明:本文为dandanyajin原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dandanyajin/p/16600857.html