You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击按钮复制输入框文本的功能?

实现点击按钮复制输入框文本的方案

针对你的HTML结构,只需添加一段JavaScript代码即可实现点击按钮复制输入框内容的功能,以下是具体实现步骤:

1. 编写JavaScript逻辑(main.js)

将以下代码写入你的main.js文件:

document.addEventListener('DOMContentLoaded', () => {
  const copyBtn = document.querySelector('.copy-text button');
  const inputText = document.querySelector('.copy-text .text');

  copyBtn.addEventListener('click', async () => {
    try {
      // 使用现代剪贴板API复制文本
      await navigator.clipboard.writeText(inputText.value);
      // 给用户反馈复制成功
      alert('已复制到剪贴板');
      // 切换图标提示(可选)
      copyBtn.innerHTML = '<i class="fa fa-check"></i>';
      setTimeout(() => {
        copyBtn.innerHTML = '<i class="fa fa-clone"></i>';
      }, 2000);
    } catch (err) {
      // 降级处理:兼容不支持Clipboard API的旧浏览器
      console.error('现代API失败,使用降级方案:', err);
      inputText.select();
      document.execCommand('copy');
      alert('已复制到剪贴板');
    }
  });
});

2. 可选优化

  • 确保Font Awesome图标正常显示:如果你的页面还没引入Font Awesome,需要在<head>标签中添加引入链接:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
  • 样式优化:可以给输入框和按钮添加一些样式,比如点击按钮时的状态变化,提升交互体验。

原理说明

  • 优先使用navigator.clipboard.writeText():这是现代浏览器推荐的剪贴板操作API,更安全且无需选中文本。
  • 降级方案:对于不支持该API的旧浏览器,使用select()选中输入框文本,再通过document.execCommand('copy')完成复制。

内容的提问来源于stack exchange,提问作者tompro356

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:35:29