使用javascript将文本复制到剪贴板

Using javascript to copy text to clipboard

本文关键字:剪贴板 复制 文本 javascript 使用      更新时间:2023-09-26

我知道这个问题有几个答案,但从选择的多样性来看,我很惊讶。这是我想解决的问题。

在jQueryMobile程序中,用户执行搜索。给出了结果的列表视图。(可能有很多)。事实证明,列表视图中的结果名称可以用于应用程序中的另一个输入字段。因此,我的想法是让他们点击一个图标,将列表视图中显示的结果放在剪贴板上,这样当他们转到应用程序中的另一个页面时,他们只需按^C(或Mac上的CMD-C),数据就会加载到字段中。

如果有人有任何见解的话,我基本上是在寻找最简单的解决方案。

您可以尝试Clipboard.js.

它是一个无依赖性的Javascript剪贴板库,因此没有Flash/Java回退。它有一个声明性属性API和一个更可配置的命令式API,您可以使用它来微调您的特定用例。

为了解决您的问题,您可以将"复制"按钮创建为HTML元素。

<!-- Target -->
<input id="foo" value="DEFAULT_VALUE">
<!-- Trigger -->
<button class="btn" data-clipboard-target="#foo">
  <img src="assets/clippy.svg" alt="Copy to clipboard">
</button>

然后,当用户复制文本时,您可以根据使用以下处理程序捕获的事件显示反馈。

var clipboard = new Clipboard('.btn');
clipboard.on('success', function(e) {
  console.info('Action:', e.action);
  console.info('Text:', e.text);
  console.info('Trigger:', e.trigger);
  e.clearSelection();
});
clipboard.on('error', function(e) {
  console.error('Action:', e.action);
  console.error('Trigger:', e.trigger);
});