仅windows系统web端下支持复制图片
1.js
// 传入要复制的元素节点
const getSelect = (targetNode) => {
console.log(targetNode, 'targetNode')
if (window.getSelection) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNode(targetNode);
selection.removeAllRanges();
selection.addRange(range);
} else if (document.body.createTextRange) {
const range = document.body.createTextRange();
range.moveToElementText(targetNode);
range.select();
}
document.execCommand('copy');
// copy之后清空选择区域
window.getSelection().removeAllRanges();
}
2.clipboard.js库
// anniu:button元素 content:要复制的元素节点
// button按钮挂载data-clipboard-target="#btnImg"
const getSelect = (anniu, content) => {
const clipboard = new Clipboard(anniu, {
target: (e) => {
return document.querySelector(content);
}
});
clipboard.on('success', (e) => {
console.info('Action:', e.action);
console.info('Text:', e.text);
console.info('Trigger:', e.trigger);
e.clearSelection();
});
clipboard.on('error', (e) => {
console.error('Action:', e.action);
console.error('Trigger:', e.trigger);
});
}