js 实现ctrl c
监听键盘事件实现 Ctrl+C 复制功能
通过 keydown 事件监听组合键,检测 Ctrl(或 Cmd)与 C 键同时按下时触发复制操作:
document.addEventListener('keydown', function(event) {
// 检测 Ctrl+C (Windows/Linux) 或 Cmd+C (Mac)
if ((event.ctrlKey || event.metaKey) && event.key === 'c') {
console.log('Ctrl+C pressed');
// 在此处添加自定义复制逻辑
}
});
使用 Clipboard API 复制文本
现代浏览器支持 Clipboard API 实现安全剪贴板访问:
async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
console.log('Text copied to clipboard');
} catch (err) {
console.error('Failed to copy:', err);
}
}
// 调用示例
copyToClipboard('要复制的文本内容');
兼容旧浏览器的 document.execCommand 方法
对于不支持 Clipboard API 的旧浏览器可使用传统方法:
function legacyCopy(text) {
const textarea = document.createElement('textarea');
textarea.value = text;
document.body.appendChild(textarea);
textarea.select();
document.execCommand('copy');
document.body.removeChild(textarea);
}
自定义复制按钮实现
结合点击事件与剪贴板操作:

<button id="copyBtn">复制文本</button>
<script>
document.getElementById('copyBtn').addEventListener('click', () => {
const textToCopy = '示例文本';
if (navigator.clipboard) {
navigator.clipboard.writeText(textToCopy);
} else {
legacyCopy(textToCopy);
}
});
</script>
注意事项
- 现代浏览器要求 Clipboard API 必须在安全上下文(HTTPS 或 localhost)中使用
- 某些浏览器可能限制未用户触发的剪贴板访问
- 考虑添加视觉反馈(如提示工具)提升用户体验






