需实现如下功能
思路:
1、使用innerHTML获取需要复制的代码段
var temp = document.getElementById("target").innerHTML
2、使用addEventListener创建一个监听事件,来监听copy事件,并使用clipboardData.setData方法来将代码复制到计算机的粘贴板(clipboardData.setData第一个参数可以使用’text/html’,这样格式就是html的,可以在公众平台上使用,设置该参数的时候需要放在addEventListener的函数内才可以)
document.addEventListener('copy',myFunction);
function myFunction(e) {
e.preventDefault();
e.clipboardData.setData('text/html', temp);
}
3、给button加click事件,当被点击时则创建一个copy事件,来触发上面的copy监听事件(此处可以使用document.execCommand方法来触发copy事件)
var btn = document.getElementById('btn');
btn.addEventListener('click', function(){
document.execCommand("copy");
alert("已复制好,可贴粘。");
});
4、此时还没有结束,这个时候虽然可以复制,但是不能实现普通的ctrl+c的复制文字方法,因为用ctrl+c复制的时候也会被监听到,当做copy事件来处理,所以可以使用window.getSelection()获取选中文字,来对当前页面是否有文字被选中来做判断
document.addEventListener('mousemove',function () {
let selObj = window.getSelection();
let selectedText &#