当前位置:首页 > JavaScript

js 实现ctrl c

2026-03-15 22:48:01JavaScript

监听键盘事件实现 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);
}

自定义复制按钮实现

结合点击事件与剪贴板操作:

js 实现ctrl c

<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)中使用
  • 某些浏览器可能限制未用户触发的剪贴板访问
  • 考虑添加视觉反馈(如提示工具)提升用户体验

标签: jsctrl
分享给朋友:

相关文章

js实现轮播图

js实现轮播图

基础轮播图实现 使用HTML、CSS和JavaScript实现一个简单的自动轮播图。HTML结构包含一个容器和多个图片项。 <div class="slider"> <div…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现图表

js实现图表

在JavaScript中实现图表通常使用流行的图表库,以下是几种常见的方法和工具: 使用Chart.js Chart.js是一个简单灵活的库,适合快速生成响应式图表。安装方式包括CDN引入或npm安…

js实现变形

js实现变形

使用 CSS 和 JavaScript 实现元素变形 在 JavaScript 中实现变形效果通常结合 CSS 的 transform 属性,通过动态修改该属性实现元素的旋转、缩放、倾斜或平移。 基…

js实现菜单导航

js实现菜单导航

实现基础菜单导航结构 使用HTML和CSS创建菜单的基本结构,再通过JavaScript添加交互功能。HTML部分通常使用<ul>和<li>标签构建层级: <nav i…

js实现vue组件

js实现vue组件

使用原生JavaScript实现类似Vue的组件功能 基础组件结构 创建一个简单的组件系统需要实现数据绑定、模板渲染和事件处理。以下是一个基础实现框架: class Component { co…