实现复制,剪切文字内容
先引入js插件:
1 <script src="https://cdn.jsdelivr.net/npm/clipboard@2/dist/clipboard.min.js"></script>
第二步新建对象:
1 <script type="text/javascript"> 2 // 复制下一个标签的内容 3 // new ClipboardJS('.btn', { 4 // target: function(trigger) { 5 // return trigger.nextElementSibling; 6 // } 7 // }); 8 // 复制本身 aria-label 的值 9 // new ClipboardJS('.btn', { 10 // text: function(trigger) { 11 // return trigger.getAttribute('aria-label'); 12 // } 13 // }); 14 15 // new ClipboardJS('.btn', { 16 // container: document.getElementById('modal') 17 // }); 18 19 var clipboard = new ClipboardJS('.btn'); 20 21 clipboard.on('success', function(e) { 22 // 获取文本方式:复制(copy)/剪切(cut) 23 // console.info('Action:', e.action); 24 // 获取的文本内容 25 // console.info('Text:', e.text); 26 // 获取文本的目标 27 // console.info('Trigger:', e.trigger); 28 // 29 e.clearSelection(); 30 }); 31 32 // 貌似是禁止复制(用完关掉才是王道) 33 // clipboard.destroy() 34 35 // clipboard.on('error', function(e) { 36 // console.error('Action:', e.action); 37 // console.error('Trigger:', e.trigger); 38 // }); 39 </script>
第三步创建元素确认要复制内容与方式:
1 <div id="fn" value="复制的文本在这里" aria-label="测试文本"> 2 value貌似是input标签才能用的,在其他的标签中value内容不会被操作,而是直接操作元素内容 3 </div> 4 5 <!-- 当使用input标签时,操作内容则是value内部内容 --> 6 <input type="" name="" id="fn1" value="这是input内的文本" /> 7 8 <text id="modal">这是text文本</text> 9 10 <!-- 下列按钮为操作按钮 其中data-clipboard-target用来确定复制的目标 --> 11 <button type="button" class="btn" data-clipboard-target="#fn">复制啊</button> 12 <!-- data-clipboard-action 用来确定复制的方式(剪切与拷贝),默认为拷贝 --> 13 <button type="button" class="btn" data-clipboard-target="#fn1" data-clipboard-action="cut">剪切啊</button> 14 <!-- data-clipboard-text 则是要复制的内容 --> 15 <button type="button" class="btn" data-clipboard-text="#modal" aria-label="我复制">复制自己啊</button>
字太难看,不想动笔,此章为印,加深记忆,往后若遇,来此考古。
浙公网安备 33010602011771号