胖蔡说技术
随便扯扯

JS实现复制文本到剪切板

开发过程中,需要将文本信息快速复制到剪切板,降低用户交互复杂性。可以通过创建html元素手动触发复制命令,本文主要是记录文本复制的代码实现:

1、创建临时输入元素

//创建临时的输入框元素
function createElement(text) {
   var isRTL = document.documentElement.getAttribute('dir') === 'rtl';
   var element = document.createElement('textarea');
   // 防止在ios中产生缩放效果
   element.style.fontSize = '12pt';
   // 重置盒模型
   element.style.border = '0';
   element.style.padding = '0';
   element.style.margin = '0';
   // 将元素移到屏幕外
   element.style.position = 'absolute';
   element.style[isRTL ? 'right' : 'left'] = '-9999px';
   // 移动元素到页面底部
   let yPosition = window.pageYOffset || document.documentElement.scrollTop;
   element.style.top = `${yPosition}px`;
   //设置元素只读
   element.setAttribute('readonly', '');
   element.value = text;
   document.body.appendChild(element);
   return element;
}

2、指定文本复制

//复制文本
function copyText(text) {
   var element = createElement(text);
   element.select();
   element.setSelectionRange(0, element.value.length);
   document.execCommand('copy');
   element.remove();
   alert("已复制到剪切板");
}
赞(0) 打赏
转载请附上原文出处链接:胖蔡叨叨叨 » JS实现复制文本到剪切板
分享到: 更多 (0)

请小编喝杯咖啡~

支付宝扫一扫打赏

微信扫一扫打赏