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

React中如何在onCopy事件中获取复制的内容?

在React中获取input被复制的子串

要实现这个需求,你可以利用input元素的selectionStart和selectionEnd属性获取选中文本的范围,再从原字符串中截取对应部分,具体代码如下:

function handleCopy(event) {
  const inputElement = event.target;
  // 获取选中文本的起始与结束索引
  const start = inputElement.selectionStart;
  const end = inputElement.selectionEnd;
  // 从原字符串中截取选中的子串
  const copiedText = inputElement.value.slice(start, end);
  
  // 可根据需求处理获取到的子串,比如打印或业务逻辑处理
  console.log('被复制的内容:', copiedText);
}

// 组件使用示例
function App() {
  return (
    <input 
      value="Jackie has a very big chicken at his farm" 
      onCopy={handleCopy} 
    />
  );
}

补充说明

  • selectionStart:返回选中文本在input值中的起始索引(未选中内容时,该值与selectionEnd相等)
  • selectionEnd:返回选中文本在input值中的结束索引
  • 通过slice(start, end)方法,就能精准截取用户选中并触发复制的子串

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:35:17