解决鼠标选中文本框内文本,无法通过ctrl+c复制到粘贴板
解决思路:
- 给document添加一个键盘事件监听 (监听组合键事件 – ctrl+c)
- 获取当前浏览器选中的文本
- 在document下创建一个input文本框,将选中的文本赋值给input,并将该文本框内文本改为选中状态
- 对选中的文本进行copy
代码:
// 给程序添加一个键盘事件监听
$(document).keydown(function (event) {
// 只有在ctrl+c时才会触发
if (event.ctrlKey && event.keyCode == 67) {
// 获取刚刚选中的文本内容
let copyText = window.getSelection().toString()
// 在document下创建一个input标签
var oInput = document.createElement('input');
// 将选中的文本赋值给input
oInput.value = copyText;
// 将input添加到body
document.body.appendChild(oInput);
oInput.select(); // 选择对象
// 进行copy操作
document.execCommand("Copy");
}
})