@dtinsight/dt-utils
Version:
33 lines (32 loc) • 1.08 kB
JavaScript
/**
* 创建一个用于剪贴板操作的临时文本区域元素
*
* @private
* @param {string} value - 要复制到剪贴板的文本内容
* @returns {HTMLTextAreaElement} 一个配置好的、可用于剪贴板操作的文本区域元素
*/
function createFakeElement(value) {
var _a;
var isRTL = document.documentElement.getAttribute('dir') === 'rtl';
var fakeElement = document.createElement('textarea');
/**
* 防止在iOS上缩放并重置盒模型
* 将元素水平移出屏幕
*/
Object.assign(fakeElement.style, (_a = {
visibility: 'hidden',
opacity: '0',
position: 'absolute',
top: "".concat(window.pageYOffset || document.documentElement.scrollTop, "px")
},
_a[isRTL ? 'right' : 'left'] = '-9999px',
_a.padding = '0',
_a.margin = '0',
_a.fontSize = '12pt',
_a.border = '0',
_a));
fakeElement.setAttribute('readonly', '');
fakeElement.value = value;
return fakeElement;
}
export default createFakeElement;