粘贴
粘贴功能,其实就是获取剪切版的内容,因为我项目中是把文字粘贴到input里面,所以没有考虑图片什么的,只是粘贴文字的功能。
代码实现:
$(".one").click(()=>{
navigator.clipboard.readText().then(
clipText =>{
console.log(clipText)
document.getElementById("input").value += clipText
}
)
})
复制
我项目需求的复制功能,一个是选区复制,一个是复制富文本的全部文字
选区复制
let selObj = window.getSelection() //获取选区内容
let domUrl = document.createElement("input");
domUrl.value = selObj.toString();
domUrl.id = "creatDom";
document.body.appendChild(domUrl);
domUrl.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
let creatDom = document.getElementById("creatDom");
creatDom.parentNode.removeChild(creatDom);
复制富文本文字
let domUrl = document.createElement("input"); //创建一个input
domUrl.value = $("#right-input").html();
domUrl.id = "creatDom";
document.body.appendChild(domUrl);
domUrl.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
let creatDom = document.getElementById("creatDom");
creatDom.parentNode.removeChild(creatDom);
选区复制的时候,一定要用button去绑定事件,用div span 这些标签去绑定事件会直接取消掉选区,从而导致获取不到选取内容,用button就不会取消选区