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

时间:2015-11-03 14:46:29

标签: javascript

我知道这个问题有几个答案,但我从看多种选择中睁大眼睛。这是我正在努力解决的问题。

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

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

1 个答案:

答案 0 :(得分:2)

您可以尝试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);
});